原文:c++邻接表存储图(无向),并用广度优先和深度优先遍历(实验)

一开始我是用c写的,后面才发现广搜要用到队列,所以我就直接使用c 的STL队列来写, 因为不想再写多一个队列了。这次实验写了两个多钟,因为要边写边思考,太菜了哈哈。 主要参考 大话数据结构 这本书,然后加上自己的一些东西改编,这次实验算是完成了 首先我们来看一下邻接表是怎么存储图的,比如说下面有一个无向图 则它的邻接表是这样的,邻接表有两个部分,一个是顶点表,一个是边表。顶点表长这样 然后就看,它 ...

2017-11-22 10:12 4 16933 推荐指数:

查看详情

c++构造邻接,实现深度优先遍历广度优先遍历

//深度优先遍历由递归实现。也可用栈来实现(与BFS队列操作类似)。 //广度优先遍历由队列实现。需要先让开始进行遍历的顶点入队,再进行出队,但是出队需保存出队的结点序号值作为表头,用于遍历该层,并同时将辅助数组visisted_B[v]置为1,以表示已经访问,然后根据邻接表 ...

Thu May 23 19:02:00 CST 2019 0 1166
基于邻接存储深度优先遍历广度优先遍历

一.深度优先遍历是连通的一种遍历策略。其基本思想如下: 设x是当前被访问顶点,在对x做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到 ...

Tue Apr 19 00:46:00 CST 2016 0 33815
基于邻接矩阵存储深度优先遍历广度优先遍历

存储结构相比较线性与树来说就复杂很多,对于线性来说,是一对一的关系,所以用数组或者链表均可简单存放。树结构是一对多的关系,所以我们要将数组和链表的特性结合在一起才能更好的存放。 那么我们的,是多对多的情况,另外图上的任何一个顶点都可以被看作是第一个顶点,任一顶点的邻接点之间也不存在 ...

Wed Apr 20 20:25:00 CST 2016 0 35392
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM