在数据结构中搜索图
我们知道图是一种非线性数据结构。在此数据结构中,我们将一些值放入节点中,并且节点通过不同的边缘连接。由于我们可以将数据存储到图结构中,因此我们还需要从图中搜索元素以使用它们。
为了在图形中搜索,有两种不同的方法。广度优先搜索和深度优先搜索技术。
广度优先搜索(BFS)
广度优先搜索(BFS)遍历是一种算法,用于访问给定图的所有节点。在这种遍历算法中,选择了一个节点,然后一个接一个地访问所有相邻节点。完成所有相邻顶点后,它会进一步移动以检查另一个顶点并再次检查其相邻顶点。要实现此算法,我们需要使用Queue数据结构。当所有相邻顶点完成时,所有相邻顶点都添加到队列中,从队列中删除一项,然后再次开始遍历该顶点。
深度优先搜索(DFS)
深度优先搜索(DFS)是一种图遍历算法。在该算法中,给出了一个起始顶点,当找到相邻顶点时,它将首先移动到该相邻顶点并尝试以相同的方式遍历。它会在整个深度范围内进行尽可能多的移动,然后回溯到先前的顶点以查找新路径。
为了以迭代方式实现DFS,我们需要使用堆栈数据结构。如果我们要递归执行,则不需要外部堆栈,可以为递归调用完成内部堆栈。
热门推荐
10 朋友药店开业祝福语简短
11 公司文案生日祝福语简短
12 新年祝福语小知识简短
13 五二零朋友祝福语大全简短
14 给儿子祝福语简短霸气
15 歌词祝福语高级文案简短
16 孙媳妇祝福语简短
17 亲戚送行祝福语简短精辟
18 送礼祝福语男性生日简短