顶点
边
弧 弧头 弧尾
度:出度 入度。 度是一个数,指的是顶点直连的边或弧的数目。
有向图
无向图
有向完全图 An2条弧
无向完全图 Cn2条边
稀疏图:很少的弧或边
稠密图:很多的弧或边
子图: 顶点或边(弧)少于等于母图的顶点或边(弧)。
邻接(顶)点 相邻接 顶点V1邻接到顶点V2
顶点的度:一个数,顶点相关联边的数目。(二叉树里称边(弧)为分叉,其实二叉树的分叉是弧,有向的)
网:也叫赋权图。边或弧带权。
路径:两顶点间的路径是一个顶点序列。若图有向,则路径也有向。
回路 简单路径 简单回路
两顶点连通:两顶点有路径相通。
连通图: 任意两顶点都是连通的。
强连通图:任意两顶点不仅连通,还是双向连通。 A能到B,B能到A,但是路径不一定一样。
图的连通分量:图的子图, 连通的,而且是极大的(能连的点都算)
图的强连通分量:图的子图, 强连通的,而且是极大的(能连的点都算)。
连通图的生成树:极小连通子图,包含全部n个节点,但是只有n-1条边。 (去掉回路,类似树,使除了根节点,每个顶点只有一条入的分叉)
顶点序列:图中各定点地位相同,所以图的序列是人为排序的(不像树,有着明显的层次,左右之分)。第一邻接点,第k个等都是就这个序列而言。从小到大。序列是为了让程序员知道以什么样的顺序处理或者讨论,有了序列,才能知道线性的存储结构和非线性的逻辑结构是如何对应的,否则顶点的寻找只能挨个匹配顶点名。(1.实现随机查找。 2,存储中统一对应,比如多个表。)
图的存储:
邻接矩阵表示法: 用两个数组,一个一维数组,存储顶点信息。 一个二维数组,存储顶点间的关联关系。这个二位数组叫做邻接矩阵。
二叉树的存储:完全二叉树顺序存储,用双亲结点与子节点的运算关系来存储关系。 链式存储,用指针来存储结点间的关系。
图的存储:邻接矩阵用二位数组的对应关系来存储顶点见关系。邻接表存储:用指针存储关系,邻接表分为边表和表头结点表两部分。
一种数据结构用其他的数据结构表示:比如图用两个表表示。存储上用一个顺序表和一个链接表。不断具体化,从程序员到实现。最抽象的数据结构用于问题建模,套用其理论解决问题(图论)。程序的书写,也因该根据数据结构的层次进行展开(函数调用),见数据结构p214.
遍历算法的提出,也是就最高层,抽象的数据结构体出,保证每一个结点都能被访问到,不考虑是否跳跃什么的。