偶然看到了专门用来处理关系结构的图数据库,根据其介绍了解到其原理是数据结构的图结构。而令人尴尬的是,说道图结构的特点,算法,我竟然完全没有了一点印象。大学学习的这门课程已经还给了老师。书到用时方恨少啊。当时就有一点回头复习数据结构的想法。后来碰到了广度优先算法,深度优先算法,都是在树结构的基础上的算法。坚定了我回头复习数据结构的想法。
首先,先来记录下简单的分类:收据结构类类型。
数据结构的类型分为四种:线性结构,树形结构,图结构,集合。
线性结构:是指在逻辑上,所有数据是呈线性排列的。这种结构是最常见的。而对应的表的关系则是一对一。
线性表是 n 个数据元素的有限序列。
线性结构的特点: ①“第一个” ②“最后一个” ③前驱 ④后继。
如图:
树形结构:就是逻辑上是树形的,对应关系为一对多。
树的相关概念:树, 根, 子树; 结点, 结点的度, 叶子(终端结点), 分支结点(非终端结点), 内部
结点, 树的度; 孩子, 双亲, 兄弟, 祖先, 子孙, 堂兄弟; 层次(根所在层为第 1 层),
深度, 高度; 有序树, 无序树,二叉树是有序树; 森林。
如图:
图形结构:就是所有节点都有多条路径到达其他节点,不会存在没有相邻节点的节点。
如图:
图的相关概念:图, 顶点, 弧, 弧头, 弧尾; 有向图(顶点集+弧集), 0≤e≤n(n-1), 无向图(顶点集+
边集), 0≤e≤n(n-1)/2; 稀疏图(e<nlogn), 稠密图; 完全图 e=n(n-1)/2, 有向完全图
e=n(n-1); 网, 有向网, 无向网。 子图, 邻接点, 顶点的度, 入度, 出度; 路径, 路
径长度(经过边或弧的数目), 简单路径, 回路(环), 简单回路(简单环); 连通图,
连通分量, 强连通分量。
集合:所有元素在同一个范围内,元素之间除了属于同一范围没有任何关系。
如图 :