4、图的创建、深度优先遍历、广度优先遍历
时间: 2023-10-09 12:12:37 浏览: 92
图的创建,深度优先,广度优先遍历
1. 图的创建:
图是一种非线性数据结构,它由一组节点和一组连接这些节点的边组成。一个图可以用以下方式表示:
(1)邻接矩阵:用一个二维数组来表示,数组的行和列都代表节点,如果两个节点之间有连接,则数组中对应的元素为1,否则为0。
(2)邻接表:用一个数组来表示,数组的每个元素表示一个节点,每个元素指向一个链表,链表中存储的是与该节点相邻的节点。
2. 深度优先遍历(DFS):
深度优先遍历是一种递归的算法,它从图的某个节点开始遍历,遍历到一个节点时,先访问该节点,然后递归遍历该节点的所有未访问过的邻居节点,直到所有的节点都被访问过。
深度优先遍历的实现可以用递归或栈的方式实现。
3. 广度优先遍历(BFS):
广度优先遍历是一种非递归的算法,它从图的某个节点开始遍历,先访问该节点,然后访问该节点的所有邻居节点,再依次访问邻居节点的邻居节点,直到所有的节点都被访问过。
广度优先遍历的实现可以用队列的方式实现。
阅读全文