×
数据结构教程数据结构简介数据结构算法数据结构渐近分析指针结构体

数组

数组二维数组

链表

链表双链表循环单向链表循环双向链表

堆栈

堆栈数组实现堆栈堆栈的链表实现

队列

队列队列的数组实现队列的链表实现循环队列

二叉树二叉搜索树平衡搜索树(AVL树)B树B+树

图类型图的表示广度优先搜索(BFS)算法深度优先搜索(DFS)算法生成树

搜索

线性搜索二进制(二分查找)搜索

排序

冒泡排序桶排序梳排序计数排序堆排序插入排序合并排序快速排序基数(Radix)排序选择排序希尔排序双调排序鸡尾酒排序圈排序

图类型


图可以定义为用于连接这些顶点的顶点和边的组。 图可以看作是循环树,图中顶点(节点)维持它们之间的任何复杂关系,而不是简单的父子关系。

1. 图定义

G 可以定义为有序集G(V,E),其中V(G)表示顶点集,E(G)表示用于连接这些顶点的边集。

G(V,E)5个顶点(A,B,C,D,E)和6个边((A,B),(B,C),(C,E),(E,D), (D,B),(D,A))如下图所示。

2. 有向图和无向图

图可以是有向的或无向的。 但是,在无向图中,边与它们的方向无关。 上图中显示了无向图,因为其边未与任何方向相连。 如果在顶点AB之间存在边,则顶点可以从B遍历到A以及从AB遍历。

在有向图中,边形成有序对。 边表示从某个顶点A到另一个顶点B的特定路径。节点A称为初始节点,而节点B称为终端节点。

有向图如下图所示。

3. 图技术

3.1. 路径

可以将路径定义为遵循的节点序列,以便从初始节点U到达某个终端节点V

3.2. 闭合路径

如果初始节点与终端节点相同,则将路径称为闭合路径。 如果V0 = VN,则路径将是闭合路径。

3.3. 简单路径

如果图的所有节点都是异常的并且异常V0 = VN,那么这种路径P被称为闭合简单路径。

3.4. 周期

周期可以定义为除了第一个和最后一个顶点之外没有重复边或顶点的路径。

3.5. 连通图

连通图是在V中的每两个顶点(u,v)之间存在一些路径的图。连通图中没有孤立的节点。

3.6. 完整图

完整图是每个节点与所有其他节点连接的图。 完整图包含n(n-1/2个边,其中n是图中节点的数量。

3.6. 权重图

在权重图中,为每个边分配一些数据,例如长度或重量。 边e的权重可以给定为w(e),其必须是指示穿过边缘的成本的正(+)值。

3.7. 有向图

有向图是有向图,其中图的每个边与某个方向相关联,并且只能在指定的方向上进行遍历。

3.8. 循环

与类似端点相关联的边可以称为循环。

3.9. 相邻节点

如果两个节点uv通过边e连接,则节点uv被称为邻居或相邻节点。

3.10. 节点的度

节点的度数是与该节点连接的边的数量。 度为0的节点称为隔离节点。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)