本章主要内容:
- 图的四种表示方法:邻接矩阵法,邻接链表法,邻接复合链表法,索引表格法
- 图的遍历:DFS(堆栈+递归),BFS(队列+递归)
- 生成树:DFS生成树,BFS生成树,最小生成树(求整个图的最短加权路径)(Kruskal算法:森林->树,Prim算法:树+节点)
- 图的最短路径:点到点的最短路径(Dijkstra、Prim、Floyd)
- AOV网络与拓扑排序
- AOE网络
欧拉环与欧拉链
七桥问题:有七座桥连接4座城市,是否有人能每座桥只经过一次,遍历4座城市,并且回到原点。
欧拉环:将城市视为顶点,桥视为边,只有每个顶点都有偶数多个桥与之相连,才能从某点出发,只经过每条边一次,然后回到起点。
欧拉链:若不要求回到起点,那么起点和终点和奇数多个边相连,其他顶点和偶数多个边相连。
图
无向图:边没有方向的图
有向图:边有方向的图
图的数据表示法
邻接矩阵法、邻接表法、邻接复合链表法、索引表格法。
邻接矩阵法:
矩阵A,A(i,j)=1表示存在从顶点i到顶点j的边,A(i,j)=0表示不存在从顶点i到顶点j的边。
邻接表法:
表头存放的是顶点,若顶点i到顶点j存在链接,就在表头i后面加上一个节点,值为j。
邻接复合链表法:
每个节点有4个属性,分别是 V 1 , V 2 , L I N K 1 , L I N K 2 V_1,V_2,LINK_1,LINK_2 V1,V2,LINK1,LINK2</