常用的数据结构和算法

合集下载

数据库技术知识数据结构的算法

数据库技术知识数据结构的算法

数据库技术知识数据结构的算法对于将要参加计算机等级考试的考生来说,计算机等级考试的知识点辅导是非常重要的复习资料。

以下是收集的数据库技术知识数据结构的算法,希望大家认真阅读!1、数据:数据的基本单位是数据元素。

数据元素可由一个或多个数据项组成。

数据项是数据的不可分割的最小单位2、数据结构:数据的逻辑结构、数据的存储结构、数据的运算3、主要的数据存储方式:顺序存储结构(逻辑和物理相邻,存储密度大)和链式存储结构顺序存储结构:顺序存储计算公式Li=L0+(i-1)×K顺序结构可以进行随机存取;插人、删除运算会引起相应节点的大量移动链式存储结构:a、指针域可以有多个,可以指向空,比比顺序存储结构的存储密度小b、逻辑上相邻的节点物理上不一定相邻。

c、插人、删除等不需要大量移动节点4、顺序表:一般情况下,若长度为n的顺序表,在任何位置插入或删除的概率相等,元素移动的平均次数为n/2(插入)和(n-1)/2(删除)。

5、链表:线性链表(单链表和双向链表等等)和非线性链表线性链表也称为单链表,其每个一节点中只包含一个指针域,双链表中,每个节点中设置有两个指针域。

(注意结点的插入和删除操作)6、栈:“后进先出”(LIFO)表。

栈的应用:表达式求解、二叉树对称序周游、快速排序算法、递归过程的实现等7、队列:“先进先出”线性表。

应用:树的层次遍历8、串:由零个或多个字符组成的有限序列。

9、多维数组的顺序存储:10、稀疏矩阵的存储:下三角矩阵顺序存储其他常见的存储方法还有三元组法和十字链表法11、广义表:由零个或多个单元素或子表所组成的有限序列。

广义表的元素可以是子表,而子表的元素还可以是子表12、树型结构:非线性结构。

常用的树型结构有树和二叉树。

二叉树与树的区别:二叉树不是树的特殊情况,树和二叉树之间最主要的区别是:二叉树的节点的子树要区分左子树和右子树,即使在节点只有一棵子树的情况下也要明确指出该子树是左子树还是右子树。

c语言数据结构与算法pdf

c语言数据结构与算法pdf

c语言数据结构与算法C语言是计算机编程的一种语言,广泛用于数据结构与算法的实现和分析。

数据结构是组织和存储数据的方式,而算法是一系列解决问题的步骤。

在C语言中,常见的数据结构包括数组、链表、栈、队列、树、图等,算法则包括排序、搜索、动态规划、贪心算法等。

以下是C语言中一些基本数据结构和算法的简要介绍:1. 数组:数组是连续存储的一组元素,可以通过索引来访问。

数组的大小在编译时确定,因此动态扩展能力有限。

2. 链表:链表是由一系列节点组成的数据结构,每个节点包含数据部分和指向下一个节点的指针。

链表的大小在运行时可以动态变化。

3. 栈:栈是一种后进先出(LIFO)的数据结构,主要操作包括压栈(push)和出栈(pop)。

栈通常用于解决递归、括号匹配等问题。

4. 队列:队列是一种先进先出(FIFO)的数据结构,主要操作包括入队(enqueue)和出队(dequeue)。

队列常用于任务调度、缓冲处理等问题。

5. 树:树是由节点组成的数据结构,每个节点包含数据部分和指向子节点的指针。

树的结构可以是二叉树、平衡树(如AVL树)、红黑树等。

树常用于表示层次关系、索引等。

6. 图:图是由节点和边组成的数据结构。

节点表示实体,边表示节点之间的关系。

图的表示方法有邻接矩阵和邻接表等。

图的应用包括最短路径、拓扑排序等。

在C语言中实现数据结构和算法,可以提高编程能力,更好地理解和解决复杂问题。

常见的算法包括冒泡排序、选择排序、插入排序、快速排序等排序算法,以及二分搜索、深度优先搜索、广度优先搜索等搜索算法。

此外,动态规划、贪心算法等高级算法也在C语言中得到广泛应用。

学习和掌握C语言的数据结构和算法,有助于提高编程水平,为解决实际问题奠定基础。

C#常用数据结构与算法

C#常用数据结构与算法

C常用数据结构与算法1.数据结构1.1 数组- 定义- 常用操作:访问元素、添加元素、删除元素、查找元素 - 应用场景1.2 链表- 定义- 常用操作:插入节点、删除节点、查找节点- 单链表、双链表、循环链表的区别- 应用场景1.3 栈- 定义- 常用操作:入栈、出栈、查看栈顶元素、判断栈是否为空 - 可使用数组或链表实现- 应用场景1.4 队列- 定义- 常用操作:入队、出队、查看队首元素、查看队尾元素、判断队列是否为空- 可使用数组或链表实现- 应用场景1.5 哈希表- 定义- 常用操作:插入键值对、删除键值对、根据键查找值、计算哈希值- 冲突解决方法:开放寻址法、链地质法- 应用场景2.常用算法2.1 排序算法- 冒泡排序- 插入排序- 选择排序- 快速排序- 归并排序- 堆排序2.2 查找算法- 线性查找- 二分查找- 插值查找- 哈希查找- 树查找(二叉搜索树、平衡二叉树、红黑树)2.3 图算法- 广度优先搜索- 深度优先搜索- 最短路径算法(Dijkstra算法、Floyd-Warshall算法) - 最小树算法(Prim算法、Kruskal算法)2.4 动态规划- 背包问题- 最长公共子序列- 最大子数组和3.附件:无4.法律名词及注释:- C: C是一种通用的、面向对象的编程语言,由微软公司开发。

- 数据结构:数据结构是计算机中组织和存储数据的方式。

- 算法:算法是解决问题的一系列步骤或过程。

- 数组:数组是一种线性数据结构,由一系列元素组成,每个元素都有唯一的索引值。

- 链表:链表是一种线性数据结构,由一系列节点组成,每个节点都包含数据和指向下一个节点的指针。

- 栈:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行操作。

- 队列:队列是一种先进先出(FIFO)的数据结构,只能在队首和队尾进行操作。

- 哈希表:哈希表是一种使用哈希函数将键映射到值的数据结构。

- 排序算法:排序算法是将一组数据按照特定顺序排列的算法。

算法编程要掌握的数学知识

算法编程要掌握的数学知识

算法编程要掌握的数学知识算法编程是建立在数学基础上的,数学知识是算法设计和分析的基础。

在算法编程中,以下数学知识是必不可少的:1.离散数学:离散数学是算法设计的基础,它包括集合论、图论、逻辑和数论等内容。

离散数学对于理解算法的复杂度分析、图算法的设计和优化以及编程中的逻辑思维都非常重要。

2.数据结构与算法:数据结构是指数据的组织方式,算法是对这些数据进行操作和处理的方法。

掌握数据结构和算法的原理和实现是算法编程的基本要求。

常用的数据结构包括数组、链表、栈、队列、树、图等,常用的算法包括排序算法、查找算法、图算法等。

3.概率与统计学:概率与统计学是算法设计和分析中的重要工具。

在算法中,我们常常需要分析算法的平均复杂度或者概率性的分析算法正确性。

掌握概率与统计学的基础理论和方法可以帮助我们更好地分析和设计算法。

4.线性代数:线性代数是一门研究向量空间和线性变换的数学学科,也是机器学习、图形学等领域的基础。

在算法编程中,线性代数的应用非常广泛,例如图像处理、机器学习、矩阵计算等。

5.数值计算方法:数值计算方法是一类通过数值计算的方式求解数学问题的方法。

在算法编程中,我们常常需要用数值计算方法来求解一些复杂的数学问题,例如求解非线性方程、积分、微分方程等。

6.概率论与随机过程:概率论与随机过程是研究随机事件和随机现象的数学学科,在算法编程中经常需要利用概率论和随机过程来模拟和分析一些随机事件,例如随机算法和蒙特卡罗方法等。

7.最优化方法:最优化方法是研究求解最优化问题的数学学科,在算法编程中经常需要求解一些最优化问题,例如线性规划、整数规划、非线性规划等。

掌握最优化方法可以帮助我们设计更加高效和优化的算法。

总之,算法编程要掌握的数学知识非常广泛,涉及离散数学、数据结构与算法、概率与统计学、线性代数、数值计算方法、概率论与随机过程以及最优化方法等多个领域。

熟练掌握这些数学知识,可以帮助我们更好地理解和设计算法,提高编程的效率和质量。

常见的数据结构与算法

常见的数据结构与算法

常见的数据结构与算法数据结构是计算机存储、组织和管理数据的方式。

算法是解决问题的一种方法论,包括一系列解决问题的步骤和规则。

在计算机科学中,常见的数据结构和算法可以分为以下几种类型。

1. 数组数组是一种最简单的数据结构,可以通过下标来访问和操作其元素。

数组是由相同类型的元素组成的有序集合,它的大小在创建后不可更改。

数组的插入和删除操作比较耗时,因此更适合用于查找和遍历操作。

2. 链表链表是一种线性数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

链表可以分为单向链表、双向链表和循环链表。

链表的灵活性很高,可以快速地进行插入和删除操作,但查找操作需要遍历整个链表。

3. 栈栈是一种先进后出(LIFO)的数据结构,它可以存储任意类型的数据。

栈主要用于临时存储值,例如函数调用、表达式求值等。

5. 堆堆是一种特殊的树形数据结构,它满足一定的堆序性质。

大根堆中,每个节点的值都大于或等于其子节点的值;小根堆中,每个节点的值都小于或等于其子节点的值。

堆常用于优先队列、排序算法等场景。

6. 树树是一种分层数据结构,它由一组节点和一组连接这些节点的边组成。

树的根节点没有父节点,每个其他节点都有唯一的一个父节点。

常见的树包括二叉树、平衡二叉树、红黑树等。

7. 图图是一种复杂的非线性数据结构,它由一组顶点和一组连接这些顶点的边组成。

图可以表示大量的实际问题,例如社交网络、路网规划等。

8. 排序算法排序算法是指使一组数据按照特定顺序排列的算法。

常见的排序算法包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序等。

9. 搜索算法搜索算法是指在一组数据中查找特定元素的算法。

常见的搜索算法包括线性搜索、二分搜索、插值搜索、哈希查找等。

10. 动态规划动态规划是一种用于优化问题的算法,在很多优化问题中都有着广泛的应用,例如最短路径、最长公共子序列等。

动态规划基本就是一个记忆化的递归,把重复计算的子问题存储起来,避免不必要的重复计算。

常用的数据结构以及算法

常用的数据结构以及算法

常用的数据结构以及算法一、关于数据的几个概念1、数据。

是对客观事物的符号表示。

在计算机科学是指所有能够输入到计算机中并能被计算机程序处理的符号集合。

包括数值、文字、图像、图像、音频、视频等形式。

2、数据项。

所谓数据项就是数据中具有独立含义的、不可再分割的最小数据单位。

是客观实体一种特征的数据表示。

3、数据元素。

是多个相关数据项的集,是一个客观实体多种特征的数据描述,是计算机程序中加工处理的基本单位。

数据元素按其组成可分为简单型数据元素和复杂型数据元素。

简单型数据元素由一个数据项组成,复杂型数据元素由多个数据项组成,它通常携带着一个概念的多方面信息。

二、数据结构的几个概念。

1、数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。

可以简单表示为:数据结构 = 数据 + 关系同一数据元素集合,所定一的关系不同,构成不同的数据结构。

数据结构包括逻辑结构和存储结构两个方面。

2、数据的逻辑结构。

是指对数据及其关系的抽象逻辑描述,对立与计算机,与机器实现无关。

根据定义的关系不同,数据的逻辑结构分为四种:集合结构。

数据元素之间未定义任何关的松散集合。

线性结构。

数据元素之间定义了次序关系的集合(全序集合),描述的是1对1关系。

树形结构。

数据元素之间定义了层次关系的集合(偏序集合),描述的是1对多关系。

图状结构。

数据元素之间定义了网状关系的集合,描述的是多对多关系。

3、数据的存储结构(亦成物理结构)是指数据结构在计算机存储器中的具体实现。

存储结构与孤立的数据元素表示形式不同,数据结构中的数据元素不但要表示其本身的实际内容,还要表示清楚数据元素之间的逻辑结构。

常见的存储结构有:顺序存储结构:特点是借助于数据元素的相对存储位置来表示数据元素之间的逻辑结构;链式存储结构:特点是借助于指示数据元素地址的指针表示数据元素之间的逻辑结构。

散列存储结构:顺序+算列。

索引存储结构:顺序+索引。

数据元素相互之间的关系称为结构。

现代计算机常用数据结构和算法

现代计算机常用数据结构和算法

现代计算机常用数据结构和算法现代计算机科学中常用的数据结构和算法非常多,下面是一些核心且广泛应用于软件开发、数据库系统、操作系统、编译器设计、网络编程、机器学习以及其他计算密集型任务中的数据结构与算法:常用数据结构:1. 数组:线性存储结构,通过索引访问元素,支持随机访问。

2. 链表:包括单向链表、双向链表和循环链表,通过指针链接元素,插入删除操作灵活但不支持随机访问。

3. 栈(Stack):后进先出(LIFO)的数据结构,常用于函数调用栈、表达式求值等。

4. 队列(Queue):先进先出(FIFO)的数据结构,适用于处理任务排队、广度优先搜索等问题。

5. 哈希表(Hash Table):基于散列函数实现快速查找,用于实现关联数组、缓存、唯一性检查等功能。

6. 树:如二叉树(包括二叉查找树、AVL树、红黑树)、B树、B+树、Trie树等,用于搜索、排序、文件系统索引等。

7. 图(Graphs):表示节点集合以及节点之间的关系,常见于社交网络分析、路径规划等领域。

8. 堆(Heap):一种特殊的树形数据结构,分为最大堆和最小堆,用于优先队列、堆排序等。

9. 集合与映射(Set & Map):无序不重复元素的集合和键值对结构,提供高效查找、插入和删除操作。

常用算法:1. 排序算法:快速排序、归并排序、冒泡排序、选择排序、插入排序、堆排序等。

2. 搜索算法:线性搜索、二分查找、插值搜索、哈希查找、深度优先搜索(DFS)、广度优先搜索(BFS)等。

3. 图算法:最短路径算法(Dijkstra、Bellman-Ford、Floyd-Warshall),拓扑排序,最小生成树算法(Prim、Kruskal)等。

4. 动态规划:解决具有重叠子问题和最优子结构的问题,如背包问题、最长公共子序列(LCS)等。

5. 贪心算法:在每一步都采取当前看来最优的选择,如霍夫曼编码、活动选择问题等。

6. 回溯算法和分支限界法:用于解决组合优化问题,如八皇后问题、旅行商问题等。

架构师面试中常见的数据结构与算法题(60题)

架构师面试中常见的数据结构与算法题(60题)

架构师面试题 -常见的数据结构与算法 数组(共30题,含答案)1.矩阵中的⾏列数可以是不相等的,这样的说法正确吗?A.正确B.不正确2.对矩阵压缩存储是为了A.⽅便运算B.⽅便存储C.提⾼运算速度D.减少存储空间3.⼀维数组与线性表的区别是A.前者⻓度固定,后者⻓度可变B.后者⻓度固定,前者⻓度可变C.两者⻓度均固定D.两者⻓度均可变4.在以下的叙述中,正确的是A.线性表的顺序存储结构优于链表存储结构B.⼆维数组是其数据元素为线性表的线性表C.栈的操作⽅式是先进先出D.队列的操作⽅式是先进后出5.顺序存储⽅式插⼊和删除时效率太低,因此它不如链式存储⽅式好。

A.TB.F6.数组是⼀种线性结构,因此只能⽤来存储线性表A.对B.错7.设有⼀个⼆维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占⼀个空间,问A[3][3](10)存放在什么位置?脚注(10)表示⽤10进制表示A.688B.678C.692D.6968.定义了⼀维int 型数组a[10] 后,下⾯错误的引⽤是A.a[0] = 1;B.a[0] = 5*2;C.a[10] = 2;D.a[1] = a[2] * a[0];9.在⼀个⻓度为n的顺序表中删除第i个元素,要移动_______个元素。

如果要在第i个元素前插⼊⼀个元素,要后移_________个元素。

A.n-i,n-i+1B.n-i+1,n-iC.n-i,n-iD.n-i+1,n-i+110.已知10*12 的⼆维数组A ,以⾏序为主序进⾏存储,每个元素占1 个存储单元,已知A[1][1] 的存储地址为420 ,则A[5][5] 的存储地址为A.470B.471C.472D.47311.取线性表的第i个元素的时间同i的⼤⼩有关。

A.TB.F12.若要定义⼀个具有5 元素的整型数组,以下错误的定义语句是A.int a[5] = {0};B.int a[] = {0, 0, 0, 0, 0};C.int a[2+3];D.int i = 5, a[i];13.⻓度为n 的⾮空顺序表,若在第i个位置插⼊新的元素X,则i的取值范围是1≤i≤n+1,需要移动的元素个数为A.iB.n-i-1C.n-iD.n-i+114.设有⼀个10阶的对称矩阵A,采⽤压缩存储⽅式,以⾏序为主存储,a11为第⼀元素,其存储地址为1,每个元素占⼀个地址空间,则a85的地址为A.13B.33C.18D.4015.设⼀维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为A.O(n)B.O(nlog2n)C.O(1)D.O(n2)16.定义语句"double * array [8]"的含义正确的是A.array是⼀个指针,它指向⼀个数组,数组的元素时是双精度实型B.array是⼀个数组,数组的每⼀个元素是指向双精度实型数据的指针CC语⾔中不允许这样的定义语句D.以上都不对17.有⼀个⽤数组C[1..m]表示的环形队列,m为数组的⻓度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6 二叉树
第025课 算法及数据结构
这是一棵很简单的树.
树主要是由结点及结点之间得关系组 成的
1
2
3
下面给出一些相关得概念
4
5
6
7
8
第025课 算法及数据结构
6 二叉树
6.1 树的相关概念
二叉树: 二叉树或者是一棵 空树 ,或者 是一棵由一个 根结 点和两棵互 不相交的分别称根的 左子树 和 右子树 所组成的 非空树 ,左子 树和右子树又同样都是一棵二叉 树. 右图为一棵二叉树
public MyTree() { super(); root = null;
}
第025课 算法及数据结构 6 二叉树
6.3 二叉树的插入
二叉树的插入是保证起有序性的重要环节.如果随意的插入则无法保证其 有序性.
二叉树的顺序 一棵有序的二叉树叫搜索二叉树.其定义是根要大于左子树所有结点,小于右 子树所有结点.其子树仍然遵循这个规律.
2
1 3
于是将7加入5的右子树中
1
5
1 6
7
第025课 算法及数据结构
6 二叉树
6.3 二叉树的插入
这是插入结点代 码的实现
其中 subtreeRoot是 要查询子树的根
新结点在当前 结点的左子树
新结点在当前 结点的右子树
newNode是要 插入的结点
private void insertNode(
专业教程
理论讲解部分
Ver3.1
第025课 算法及数据结构 概述:
➢ 二叉树的相关概念 ➢ 二叉树的实现
• 重点:
➢ 二叉树的实现
• 难点:
➢ 二叉树的实现
6 二叉树
第025课 算法及数据结构
二叉树综合了有序数组与链表得优点. 有序数组具有较快得查找速度,链表具有非常好得插入删除效率. 树结合了两者得有点,使得它具有很高得插入 删除及查找得效率. 它得实现与其结构密切相关,下面我们来看看它的结构.
下节课介绍树的删除 查询 及遍历
第025课 算法及数据结构
• 小结:
➢ 树的相关概念 ➢ 树的建立 ➢ 插入结点
第025课 算法及数据结构
小测验(单选题):
1、树集成了哪两种结构的优点() A) 队列 B)有序数组 C)栈 D)链表
2、搜索树的规则是() A)左子树>右子树>根 B)左子树<右子树<根 C)左子树<根<右子树 D)左子树<根>右子树
private class Node{ int key; int value; Node left; Node right;
}
第025课 算法及数据结构 6 二叉树
6.2 二叉树的建立
当我们拥有了结点以后,就可以着手创建我们的树了.
一颗数最特殊的结点就是它的根结点,当拥有了根结点就意味着你拥有 了整棵树. 所以我们要用一个变量来保存这个非常重要的根.
左结点 非空继 续查询
}
}else{
右结点
if(current.right == null){
空加入
current.right = newNode; return; }else{ current = current.right;
右结点 非空继 续查询
}}}}
6 二叉树
第025课 算法及数据结构
此时,我们可以通过使用结点Node来建立一棵树. 并且,可以按照搜索树的要求调用插入insertNode()函数来使树成长.
我们要建立的便是一棵这样的搜索二叉树.
第025课 算法及数据结构6 二树6.3 二叉树的插入
如图,该树便是一棵搜索二叉树. 下面我们要讨论如何将7插入该树.
1 0
2
1 3
首先我们要访问根结点,判断这个7应
1
该放在其左子树还是右子树.
7<10 ,所以 7 应该放在左子树中.
5
1 6
第025课 算法及数据结构
Node subtreeRoot,Node newNode){
Node current = subtreeRoot;
while(true){
if(newNode.key<current.key){ 左结点
if(current.left == null){
空加入
current.left = newNode; return; }else{ current = current.left;
6 二叉树
6.3 二叉树的插入
1 0
然后,对根的左子树进行检查.判断 该子树是否为空,若空则将7加入.非 空则继续判断在该子树中的位置.
根的左子树非空且值为2,后判断 2<7,则7应该在该子树的右子树中.
2
1 3
1
5
1 6
第025课 算法及数据结构
6 二叉树
6.3 二叉树的插入
1 0
以次继续,直到判断到5后,7应该在5 的右子树中,且5的右子树为空.
按照由高到低的顺序遍历的.或者称为
广度优先遍历.
24
层: 树中从根开始计算的 “辈分”.
1
2
3
5
6
第025课 算法及数据结构 6 二叉树
6.2 二叉树的建立
实现二叉树首先就要实现它的 结点.
它的每一个结点除了要保存相 应的数据之外,还要保存其子 结点的引用.
其数据需要两个域,一个保存键 值,另一个保存该键值所对应的 数据.
3、在树的插入中,我们使用的是非递归方法.考虑如何使用非递归 方法实现
第025课 算法及数据结构 • 课后作业:
将树的建立 插入重新实现一次. 注意插入操作的操作顺序.
2
3
子树: 每一个结点都可以看作是其子
孙结点的根.这样将其与其子孙
4
5
6
结点的集合称为子树
图中2,4,5可以看作是一棵子树.
第025课 算法及数据结构
6 二叉树
6.1 树的相关概念 0
遍历: 根据某种规则,对树中所有的结点
全部访问一次称作一次遍历.
1
例如:1,2,3,4,5,6 就是一次遍历.它是
3、在树的插入中,我们使用的是非递归方法.考虑如何使用非递归 方法实现
第025课 算法及数据结构
小测验(单选题答案):
1、树集成了哪两种结构的优点(BD) A) 队列 B)有序数组 C)栈 D)链表
2、搜索树的规则是(c) A)左子树>右子树>根 B)左子树<右子树<根 C)左子树<根<右子树 D)左子树<根>右子树
4
1
2
3
5
6
第025课 算法及数据结构
6 二叉树
6.1 树的相关概念
路径: 顺着连接节点的边从一个节 点走到另一个节点,所经过 的节点的顺序排列就称为 “路径”。
1
2
3
其中橙色得线就代表一条路径
4
5
6
第025课 算法及数据结构
6 二叉树
6.1 树的相关概念
根: 树得顶端称为根.每棵树只有 一个根. 右图中 1 为根
private Node root;
第025课 算法及数据结构 6 二叉树
6.2 二叉树的建立
二叉树的初始化非常的简单.只需要有个根就可以了,而且树是空的.所以 甚至连根的初始化都可以省略.
这里唯一的一句root = null;都可 以省略.因为对象在初始化时,其 成员变量自动是空.为了清晰,还 是把它加上.
父结点与子结点: 除根结点外,其余结点都有另外一个 结点指向它.那么指向其它结点的结 点称为父结点.被指向的结点称为子 结点.
右图中3为6的父结点,6为3的子结点
1
2
3
4
5
6
第025课 算法及数据结构
6 二叉树
6.1 树的相关概念
1
叶结点: 没有子结点的结点称为叶结点. 图中4,5,6均为叶结点.
相关文档
最新文档