数据结构图的邻接矩阵四种图包括有向图无向图有向网无向网c语言代码
时间: 2024-12-25 22:29:38 浏览: 3
数据结构中的图通常分为四种类型:有向图、无向图、有向网(也称为有向图或多条边)和无向网(也称为无向图或单条边)。它们都由节点(顶点)和边组成,但是边的方向性和存在形式有所不同:
1. **有向图**(Directed Graph):每条边都有明确的起点和终点,表示两个节点之间的方向依赖。例如,A指向B表示A是B的父亲节点。
C语言代码示例:
```c
typedef struct {
int src; // 起点
int dest; // 终点
} Edge;
typedef struct {
int num_vertices;
Edge* edges;
} DirectedGraph;
```
2. **无向图**(Undirected Graph):边没有方向,节点间的关系是对称的。比如,A和B之间有一条边,意味着A和B互相连接。
C语言代码示例:
```c
typedef struct {
int src;
int dest;
} UndirectedEdge;
typedef struct {
int num_vertices;
UndirectedEdge* edges;
} UndirectedGraph;
```
3. **有向网**(DAG, Directed Acyclic Graph):是有向图的一种特殊形式,其中不存在从一个节点到自身的路径,即不存在环路。
4. **无向网**(Connected Component in an Undirected Graph):在无向图中,如果任意两个顶点都是连通的,那么这个无向图就是一个无向网,每个连通分量代表一个独立的部分。
阅读全文