一、图
图的基本术语
无向的图叫无向图,又向的图叫有向图。(?)
若无向图的每两条顶点之间都存在一条边,或者有向图的每两个顶点之间都存在两条方向相反的边,则称此图为完全图。
图的存储
邻接表
邻接矩阵
参考此篇。
数据结构之图(二)——邻接矩阵_daocaoren_的博客-CSDN博客https://blog.csdn.net/daocaoren_/article/details/98616668图的遍历
期末好像不考,先不写了。
生成树和最小生成树
生成树:一个连通图的生成树是一个极小连通图,它包含图中的全部顶点和构成一棵树的(n-1)条边。生成树的每两个结点之间有且仅有一条路径。在树中添加任何一条边,必定构成一个环,使得两个顶点之间有第二条路经。(应该不难想象吧?( ̄▽ ̄)")
最小生成树
给定的无向图,在图中选择若干条边把图中的所有节点连接起来,要求边长之和最小,这样生成的生成树就叫最小生成树。
最小生成树的构造方法(Kruskal算法和Prim算法)
常见的构造方法有克鲁斯卡(Kruskal)尔方法和普利姆(Prim)方法
Kruskal算法
Kruskal算法其实是一种贪心算法。无向图的每条边按照权重(边长)大小排序,每次从边的集合中抽出一条权重最小的且两顶点不连通的边加入生成树中。循环往复即可。
普利姆(Prim)算法
看这里~👇
最小生成树——Prim算法(详细图解)_skynesser的博客-CSDN博客
(因为期末不考所以我先不写了=D)
二、查找
摆烂了不写了。