完善了一下数据结构,现在再新开始图论算法。
图论算法,顾名思义,就是针对图来实现的算法,那么什么是图,图是一种用边连接起来的点,严格的来说也是一种数据结构,不过没有那么有序,因为各点之间的连线是可以随机的。
图的基本概念:
结点的度:若一个图的边是没有方向的,则其中一个结点连接的边的数目称为结点的度。
结点的入度:若一个图的边是有方向的,那么指向这个结点的边的数目称为结点的入度。
结点的出度:同入度,不过是边是从结点指向其他点。
权值:可以理解为边的长度,通常会用作各种有数的东西,例如价值,路程之类。
连通:既两个点,可能直接或间接可以到达,那么就说他是连通的。
回路:组成一个来回,一圈就是回路。
完全图:一个n 阶的完全无向图含有n*(n-1)/2 条边;一个n 阶的完全有向图含有n*(n-1)条边;
稠密图:边数接近于完全图。
稀疏图:边数远少于完全图。
强连通分量:边有方向的图中任意两点都连通的最大子图。
寒假接触过一道迪杰斯特拉算法的题目,它就是图论算法寻找最短路径的一种,一般寻找最短路径会将无法到达的数设置为一个很大的数,一般设成0x7fffffff,七个f,基本可以保证没有比其更大的数值来干扰题目的结果。