第7章 图
先来看看书中的定义:


然后了解一些有关图的其他定义:
- 
图中的数据元素称为顶点(链表中称为元素)
 - 
强调顶点有穷非空
 - 
任意两个顶点可能都有关系,顶点之间的关系用边来表示
 - 
无向边和无向图
 - 
有向边(弧)和有向图
 - 
无向完全图和有向完全图
 - 
连通图(下右图为连通图)
 

- 生成树:一个极小的连通子图,它含有图中所有顶点,但只有构成一棵树的n-1条边
 

存储结构
- 
邻接矩阵:即二维数组,用来存储顶点信息和边的信息(浪费空间)
 - 
邻接表(逆邻接表):使用一个一维数组存储顶点信息,然后将每个顶点的边用链表存储
 

- 十字链表(将邻接表和逆邻接表整合在一起)
 

- 邻接多重表(针对无向图的优化):用一个结点表示一条边,邻接表中用俩个结点表示一条一条边
 

- 边集数组:使用两个一维数组,一个存储顶点数据,一个存储边的数据
 

图的遍历:
- 
深度优先遍历
 - 
广度优先遍历
 
最小生成树:
- 
普利姆算法(Prim)(根据顶点进行构建)
 - 
克鲁斯卡尔算饭(Kruskal)(根据边进行构建)
 
最短路径:
- 
迪杰斯特拉算法(Dijkstra)
 - 
弗罗因德算法(Floyd)
 
拓扑排序
关键路径
结束语:
- 
本章在这里也算是潦草的结束了吧,图这一章涉及了许多新概念,所以感觉比较难,而且后面介绍的一些算法,如Prim,Kruskal等,并不知道它们的用途在何方,实用性在何处,因此学习动力不是很强,也没有那种特别想要理解的渴望,所以暂时就这样了,以后遇到再深究。
 - 
总的来说,这章学的比较草率,过段时间再来一遍吧,哈哈!
 
    All rights reserved  please indicate the source if reprint---吓尿了的大肥鼠
                    
                
                
            
        
浙公网安备 33010602011771号