图数据结构:定义、核心特性与基础概念解析
一、什么是图数据结构?
在计算机科学中,图(Graph) 是一种非线性数据结构,用于表示对象之间的多对多关系。与线性结构(如数组、链表)和分层结构(如树)不同,图没有严格的顺序或层次限制,能够灵活地建模现实世界中复杂的关联关系。
从数学角度来看,图可以定义为一个二元组 ( G = (V, E) ),其中:
- ( V ) (Vertex) 是顶点(或节点)的非空有限集合
- ( E ) (Edge) 是边的有限集合,每条边连接两个顶点,表示它们之间的关系
二、图的核心组件
2.1 顶点(Vertex)
顶点是图的基本组成单元,用于表示实体或对象。例如,在社交网络中,顶点可以表示用户;在地图应用中,顶点可以表示城市。
2.2 边(Edge)
边是连接两个顶点的线段或弧,表示顶点之间的关系。根据边是否有方向,图可以分为两类:
有向图(Directed Graph)
边具有方向,用带箭头的线段表示。例如,在网页链接图中,边从当前页面指向链接的目标页面,表示浏览方向。
无向图(Undirected Graph)
边没有方向,用线段表示。例如,在社交网络的好友关系中,A和B是好友意味着B和A也是好友。
2.3 权重(Weight)
边可以带有权重,表示关系的强度或代价。例如,在交通网络中,权重可以表示两个城市之间的距离或旅行时间。