在数据结构中搜索图
我们知道图是一种非线性数据结构。在此数据结构中,我们将一些值放入节点中,并且节点通过不同的边缘连接。由于我们可以将数据存储到图结构中,因此我们还需要从图中搜索元素以使用它们。
为了在图形中搜索,有两种不同的方法。广度优先搜索和深度优先搜索技术。
广度优先搜索(BFS)
广度优先搜索(BFS)遍历是一种算法,用于访问给定图的所有节点。在这种遍历算法中,选择了一个节点,然后一个接一个地访问所有相邻节点。完成所有相邻顶点后,它会进一步移动以检查另一个顶点并再次检查其相邻顶点。要实现此算法,我们需要使用Queue数据结构。当所有相邻顶点完成时,所有相邻顶点都添加到队列中,从队列中删除一项,然后再次开始遍历该顶点。
深度优先搜索(DFS)
深度优先搜索(DFS)是一种图遍历算法。在该算法中,给出了一个起始顶点,当找到相邻顶点时,它将首先移动到该相邻顶点并尝试以相同的方式遍历。它会在整个深度范围内进行尽可能多的移动,然后回溯到先前的顶点以查找新路径。
为了以迭代方式实现DFS,我们需要使用堆栈数据结构。如果我们要递归执行,则不需要外部堆栈,可以为递归调用完成内部堆栈。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短