各数据结构的基本概念和术语汇总

各数据结构的基本概念和术语汇总

    • 绪论
      • 什么是数据结构?
      • 基本概念和术语
      • 算法和算法分析
    • 线性结构
      • 线性表
      • 线性表的顺序表示
      • 线性表的链式表示
      • 线性表的顺序、链式存储结构比较
      • 栈和队列
    • 非线性结构
      • 树和二叉树
      • 图的定义和基本术语

绪论

什么是数据结构?

一般来说,用计算机解决一个具体问题时,大致需要经过下列几个步骤:

​ 1️⃣ 首先要从具体问题抽象出一个适当的数学模型

​ 2️⃣ 然后设计一个解决此数学模型的算法

​ 3️⃣ 最后编出程序,进行测试、调整 直至得到最终解答

自然语言 ——> 抽象数学模型 ——> 程序语言 ——> 运算


基本概念和术语


算法和算法分析


线性结构

线性表

  • 线性表(Linear List)是最常用且最简单的一种数据结构。一个线性是 n 个数据元素的有限序列。
  • 线性表中元素可以是各种各样的,同一线性表中元素必定具有相同的特性,即属同一数据对象,相邻数据元素之间存在着序偶关系

线性表的顺序表示

线性表的顺序表示指的是 用一组地址连续的存储单元 依次存储线性表的数据元素。

线性表中任一数据元素都可以 随机存取 ,所以 线性表的顺序存储结构是一种随机存取的存储结构


线性表的链式表示

n 个结点链接成一个链表,即为线性表的链式存储结构。

由于此链表的每一个结点中只包含一个指针域,故又称 线性链表单链表

单链表 中,取得第 i 个数据元素必须从头指针出发寻找,因此 单链表是一种非随机存取的存储结构


循环链表(Circular Linked List) 是另一种形式的链式存储结构。它的特点是表中最后一个结点的指正域指向头结点整个链表形成一个环

循环链表中任一结点出发均可找到表中其他结点。


双向链表(Double Linked List) 的结点有两个指针域,其一指向直接后继,另一指向直接前驱。

双向链表特点就是更方便找前驱结点。


线性表的顺序、链式存储结构比较

顺序表与链表的比较


栈和队列

栈和队列也是线性表, 其特殊性在于栈和队列的基本操作是线性表的子集,他们是操作受限的线性表


非线性结构

树和二叉树


图的定义和基本术语

G = ( V , E ) G = (V,E) G=(V,E)

  • V:顶点(数据元素)的 有穷非空 集合
  • E:边的 有穷 集合

无向图:每条边都是无方向的

各数据结构的基本概念和术语汇总_第1张图片


有向图:每条边都是有方向的

各数据结构的基本概念和术语汇总_第2张图片


完全图:任意两个点都有一条边相连

各数据结构的基本概念和术语汇总_第3张图片


稀疏图: 有很少边或弧的图

稠密图:有较多边或弧的图

:边、弧带权的图

邻接:有边、弧相连的两个顶点之间的关系

  • 存在 ( V i , V j ) (V_i, V_j) (Vi,Vj),则称 V i V_i Vi V j V_j Vj 互为 邻接点
  • 存在 < V i , V j > <Vi,Vj>,则称 V i V_i Vi 邻接到 V j V_j Vj V j V_j Vj 邻接于 V i V_i Vi

关联(依附):边、弧与顶点之间的关系

  • 存在 ( V i , V j ) (V_i, V_j) (Vi,Vj) < V i , V j > <Vi,Vj>,则称该边、弧关联于 V i V_i Vi V j V_j Vj

顶点的度:与该顶点相关联的边的数目,记为 T D ( v ) TD_{(v)} TD(v)

有向图 中,顶点的度等于该顶点的 入度出度 之和
顶点 V 的入度 是以 V 为 终点 的有向边的条数,记作 I D ( v ) ID_{(v)} ID(v)
顶点 V 的出度 是以 V 为 始点 的有向边的条数,记作 O D ( v ) OD_{(v)} OD(v)


路径:接续的边构成的顶点序列。

路径长度:路径上边或弧的数目 / 权值之和。

回路(环):第一个顶点和最后一个顶点相同的路径。

简单路径:除路径起点和终点可以相同外,其余顶点均不相同的路径。

简单回路(简单环):除路径起点和终点相同外,其余顶点均不相同的路径。

各数据结构的基本概念和术语汇总_第4张图片


连通图(强连通图)

在无(有)向图 G = ( V , E ) G=( V, {E} ) G=(V,E) 中,若对任何两个顶点 v、u 都存在从 v 到 u 的路径,

则称 G 是 连通图(强连通图)。

各数据结构的基本概念和术语汇总_第5张图片


权与网

  • 图中边或弧所具有的相关数称为 。表明从一个顶点到另一一个顶点的距离或耗费。
  • 带权的图称为

子图

设有两个图 G = ( V , { E } ) G= (V, \{E\}) G=(V,{E}) G 1 = ( V 1 , { E 1 } ) G_1= (V1, \{E_1\}) G1=(V1,{E1}),若 V 1 ⊆ V , E 1 ⊆ E V_1 \subseteq V, E_1 \subseteq E V1V,E1E,则称 G 1 G_1 G1 G G G子图

各数据结构的基本概念和术语汇总_第6张图片


连通分量(强连通分量)

  • 无向图 G 的 极大连通子图 称为 G 的 连通分量
  • 极大连通子图意思是:该子图是G连通子图,将G的任何不在该子图中的顶点加入,子图不再通

各数据结构的基本概念和术语汇总_第7张图片


有向图 G 的 极大强连通子图 称为 G 的 强连通分量

极大强连通子图意思是:

该子图是 G 的强连通子图,将 D 的任何不在该子图中的顶点加入,子图不再是强连通的。

各数据结构的基本概念和术语汇总_第8张图片


极小连通子图:该子图是 G 的连通子图,在该子图中删除任何一条边,子图不再连通。

生成树:包含无向图 G 所有顶点的极小连通子图。

生成森林:对非连通图,由各个连通分量的生成树的集合。

各数据结构的基本概念和术语汇总_第9张图片

✍ 码字不易,记得点赞 收藏 ⭐️

你可能感兴趣的:(数据结构与算法)