这周学的是图,既然是新的概念,首先要了解它的定义和基本术语,我们这里主要讲术语,包括但不限于有向图和无向图,邻接点,出度和入度,路径和路径长度,连通图和连通分量(这里重点讲一下)图中任意两个顶点属于V集合,则图是连通的,所谓连通分量,指的是无向图中的极大连通子图;对于有向图,就是它本身啊!不能再错了)
然后就是图的存储结构这里,主要有邻接矩阵和邻接表,邻接矩阵主要有两数组,顶点表和邻接矩阵,若有权值则需将矩阵中赋予相应的值;然后是邻接表,这里涉及到指针,在构建时,有3个结构体,我个人比较容易忘记是定点指针那里,还要多多回归课本。
对图的遍历主要有2种算法BFS和DFS;直接上代码:
然后是最小生成树这里,有两个重要的方法,一个是不断找能构成最小权值的边的顶点,把他补充到集合U中。