图的历遍-深度优先历遍、广度优先历遍
2015-09-19 13:12
274 查看
图的历遍:从图中某一顶点出发,对图中所有定点进行访问,且每个顶点只访问一次。
深度优先历遍(Depth_First_search)
定义:从出发点开始访问,并将其标记为已访问,再访问出发点未访问过的邻接点,从此临界点出发继续按照上述规律访问,直到所有与出发点有路径想通的顶点完全被访问到。如果图中还有未被访问到的顶点,另选一个未被访问过的顶点为出发点继续访问。
如图,深度优先历遍为:1、2、4、5、6、3、7
广度优先历遍
定义:从出发点开始访问,将出发点加入队列并标记为已访问,出队列,访问出发点未访问过的邻接点,将其加入队列,知道无未访问的邻接点,出队列,按照上述规律继续访问,直到队列为空,历遍结束。
如图,广度优先历遍为:1、2、3、4、5、6、7
深度优先历遍(Depth_First_search)
定义:从出发点开始访问,并将其标记为已访问,再访问出发点未访问过的邻接点,从此临界点出发继续按照上述规律访问,直到所有与出发点有路径想通的顶点完全被访问到。如果图中还有未被访问到的顶点,另选一个未被访问过的顶点为出发点继续访问。
如图,深度优先历遍为:1、2、4、5、6、3、7
广度优先历遍
定义:从出发点开始访问,将出发点加入队列并标记为已访问,出队列,访问出发点未访问过的邻接点,将其加入队列,知道无未访问的邻接点,出队列,按照上述规律继续访问,直到队列为空,历遍结束。
如图,广度优先历遍为:1、2、3、4、5、6、7
相关文章推荐
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构揭秘一
- 数据结构之Treap详解
- JavaScript数据结构和算法之图和图算法
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- Java数据结构及算法实例:插入排序 Insertion Sort
- Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture
- java数据结构之java实现栈
- java数据结构之实现双向链表的示例
- Java数据结构及算法实例:选择排序 Selection Sort
- Java数据结构及算法实例:朴素字符匹配 Brute Force
- Java数据结构及算法实例:汉诺塔问题 Hanoi
- Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
- java数据结构和算法学习之汉诺塔示例
- Java数据结构及算法实例:三角数字
- Java数据结构之简单链表的定义与实现方法示例
- 数据结构之AVL树详解
- qqwry.dat的数据结构图文解释第1/2页
- JavaScript中数据结构与算法(五):经典KMP算法