图
图是由若干个顶点和边组成的一种抽象数据类型,用于描述事物之间的关系。在图中,顶点表示事物,边表示事物之间的关系。图可以用于各种实际问题的建模,如路线规划、社交网络、电路设计等。
根据图的性质和特点,可以将图分为有向图和无向图、带权图和无权图、稠密图和稀疏图、连通图和非连通图、简单图和多重图等。
有向图和无向图
有向图是指图中的边是有方向的,表示从一个顶点到另一个顶点的有向路径。
无向图是指图中的边没有方向,表示两个顶点之间的无向路径。
带权图和无权图
带权图是指图中的边带有权值,表示边的长度、距离、费用等信息。
无权图是指图中的边没有权值,表示只有相邻关系。
稠密图和稀疏图
稠密图是指图中的边数接近于最大边数,如完全图。
稀疏图是指图中的边数远小于最大边数,如树。
连通图和非连通图
连通图是指图中任意两个顶点之间都存在路径。
非连通图是指图中存在两个或以上不连通的部分。
简单图和多重图
简单图是指没有重复边和自环边的图。
多重图是指可能存在重复边和自环边的图。
图的表示方法有邻接矩阵和邻接表两种常用方式。邻接矩阵是二维数组表示图中的顶点和边的关系,适用于稠密图。邻接表是由一个数组和一个链表组成,数组中每个元素表示一个顶点,链表表示与该顶点相邻的其他顶点和边的信息,适用于稀疏图。