《数据结构重点归纳幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据结构重点归纳幻灯片.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构重点归纳第1页,共15页,编辑于2022年,星期六第一章 绪论数据结构的基本概念,算法与算法分析,算法设计时的注意事项,时间和空间复杂度的概念及度量方法。第2页,共15页,编辑于2022年,星期六第二章线性表 1.1.线性表的相关基本概念,如:前驱、后继、表长、空表、线性表的相关基本概念,如:前驱、后继、表长、空表、首元结点,头结点,头指针等概念。首元结点,头结点,头指针等概念。2.2.线性表的结构特点,主要是指:除第一及最后一个元素外,线性表的结构特点,主要是指:除第一及最后一个元素外,每个结点都只有一个前趋和只有一个后继。每个结点都只有一个前趋和只有一个后继。3.3.线性表的顺序存
2、储方式及其在具体语言环境下的两种不同实线性表的顺序存储方式及其在具体语言环境下的两种不同实现:表空间的静态分配和动态分配。静态链表与顺序表的相似现:表空间的静态分配和动态分配。静态链表与顺序表的相似及不同之处及不同之处4.4.线性表的链式存储方式及以下几种常用链表的特点和运算:线性表的链式存储方式及以下几种常用链表的特点和运算:单链表、循环链表,双向链表,双向循环链表。其中,单链单链表、循环链表,双向链表,双向循环链表。其中,单链表的归并算法、循环链表的归并算法、双向链表及双向循环表的归并算法、循环链表的归并算法、双向链表及双向循环链表的插入和删除算法链表的插入和删除算法5.5.线性表的顺序存
3、储及链式存储情况下,其不同的优缺点比较,即其线性表的顺序存储及链式存储情况下,其不同的优缺点比较,即其各自适用的场合。单链表中设置头指针、循环链表中设置尾指针而不各自适用的场合。单链表中设置头指针、循环链表中设置尾指针而不设置头指针以及索引存储结构的各自好处。设置头指针以及索引存储结构的各自好处。第3页,共15页,编辑于2022年,星期六第三章栈与队列 1.1.栈、队列的定义及其相关数据结构的概念,包括:顺序栈,链栈,栈、队列的定义及其相关数据结构的概念,包括:顺序栈,链栈,共享栈,循环队列,链队等。栈与队列存取数据(请注意包括:存和共享栈,循环队列,链队等。栈与队列存取数据(请注意包括:存和
4、取两部分)的特点。取两部分)的特点。2.2.递归算法。栈与递归的关系,以及借助栈将递归转向于非递归的经递归算法。栈与递归的关系,以及借助栈将递归转向于非递归的经典算法:典算法:n!n!阶乘问题,阶乘问题,fibfib数列问题,数列问题,hanoihanoi问题,背包问题,二叉树问题,背包问题,二叉树的递归和非递归遍历问题,图的深度遍历与栈的关系等。的递归和非递归遍历问题,图的深度遍历与栈的关系等。3.3.栈的应用:数值表达式的求解,括号的配对等的原理。栈的应用:数值表达式的求解,括号的配对等的原理。4.4.循环队列中判队空、队满条件,循环队列中入队与出队算法。循环队列中判队空、队满条件,循环队
5、列中入队与出队算法。第4页,共15页,编辑于2022年,星期六第四章串 1.1.串的基本概念,串与线性表的关系(串是其元素均为字符型串的基本概念,串与线性表的关系(串是其元素均为字符型数据的特殊线性表),空串与空格串的区别,串相等的条件数据的特殊线性表),空串与空格串的区别,串相等的条件2.2.串的基本操作,以及这些基本函数的使用,包括:取子串,串的基本操作,以及这些基本函数的使用,包括:取子串,串连接,串替换,求串长等等。运用串的基本操作去完成特定串连接,串替换,求串长等等。运用串的基本操作去完成特定的算法。的算法。3.3.顺序串与链串及块链串的区别和联系,实现方式。顺序串与链串及块链串的区
6、别和联系,实现方式。4.KMP4.KMP算法思想。算法思想。KMPKMP中中nextnext数组以及数组以及nextvalnextval数组的求法。明数组的求法。明确传统模式匹配算法的不足,明确确传统模式匹配算法的不足,明确nextnext数组需要改进之外。其数组需要改进之外。其中,理解算法是核心,会求数组是得分点。这一节内容是本章中,理解算法是核心,会求数组是得分点。这一节内容是本章的重中之重。可能进行的考查方式是:求的重中之重。可能进行的考查方式是:求nextnext和和nextvalnextval数组值,数组值,根据求得的根据求得的nextnext或或nextvalnextval数组值给
7、出运用数组值给出运用KMPKMP算法进行匹配的算法进行匹配的匹配过程。匹配过程。第5页,共15页,编辑于2022年,星期六第五章数组与广义表 1.1.多维数组中某数组元素的多维数组中某数组元素的positionposition求解。一般是给出数求解。一般是给出数组元素的首元素地址和每个元素占用的地址空间并组给出组元素的首元素地址和每个元素占用的地址空间并组给出多维数组的维数,然后要求求出该数组中的某个元素所在多维数组的维数,然后要求求出该数组中的某个元素所在的位置。的位置。2.2.明确按行存储和按列存储的区别和联系,并能够按照这明确按行存储和按列存储的区别和联系,并能够按照这两种不同的存储方式
8、求解两种不同的存储方式求解1 1中类型的题。中类型的题。3.3.将特殊矩阵中的元素按相应的换算方式存入数组中。这将特殊矩阵中的元素按相应的换算方式存入数组中。这些矩阵包括:对称矩阵,三角矩阵,具有某种特点的稀疏些矩阵包括:对称矩阵,三角矩阵,具有某种特点的稀疏矩阵等。熟悉稀疏矩阵的三种不同存储方式:三元组,带矩阵等。熟悉稀疏矩阵的三种不同存储方式:三元组,带辅助行向量的二元组,十字链表存储。辅助行向量的二元组,十字链表存储。4.4.广义表的概念,特别应该明确表头与表尾的定义。这一广义表的概念,特别应该明确表头与表尾的定义。这一点,是理解整个广义表一节算法的基础。点,是理解整个广义表一节算法的基
9、础。第6页,共15页,编辑于2022年,星期六第六章树与二叉树 树一章的知识点包括:二叉树的概念、性质和存储结构,二叉树遍历的三种算法(递归与非递归),在三种基本遍历算法的基础上实现二叉树的其它算法,线索二叉树的概念和线索化算法以及线索化后的查找算法,最优二叉树的概念、构成和应用,树的概念和存储形式,树与森林的遍历算法及其与二叉树遍历算法的联系,树与森林和二叉树的转换。第7页,共15页,编辑于2022年,星期六1.1.二叉树的概念、性质和存储结构二叉树的概念、性质和存储结构考查二叉树的定义,二叉树与普通双分支树的区别;满二叉树和完全二叉树考查二叉树的定义,二叉树与普通双分支树的区别;满二叉树和
10、完全二叉树的性质,普通二叉树的五个性质:第的性质,普通二叉树的五个性质:第i i层的最多结点数,深度为层的最多结点数,深度为k k的二叉树的的二叉树的最多结点数,最多结点数,n0=n2+1n0=n2+1的性质,的性质,n n个结点的完全二叉树的深度,顺序存储二个结点的完全二叉树的深度,顺序存储二叉树时孩子结点与父结点之间的换算关系(左为:叉树时孩子结点与父结点之间的换算关系(左为:2*i2*i,右为:,右为:2*i+12*i+1)。)。二叉树的顺序存储和二叉链表存储的各自优缺点及适用场合,二叉树的三叉二叉树的顺序存储和二叉链表存储的各自优缺点及适用场合,二叉树的三叉链表表示方法。链表表示方法。
11、2.2.二叉树的三种遍历算法二叉树的三种遍历算法这一知识点掌握的好坏,将直接关系到树一章的算法能否理解,进而关系到这一知识点掌握的好坏,将直接关系到树一章的算法能否理解,进而关系到树一章的算法设计题能否顺利完成。二叉树的遍历算法有三种:先序,中序树一章的算法设计题能否顺利完成。二叉树的遍历算法有三种:先序,中序和后序。其划分的依据是视其每个算法中对根结点数据的访问顺序而定。不和后序。其划分的依据是视其每个算法中对根结点数据的访问顺序而定。不仅要熟练掌握三种遍历的递归算法,理解其执行的实际步骤,并且应该熟练仅要熟练掌握三种遍历的递归算法,理解其执行的实际步骤,并且应该熟练掌握三种遍历的非递归算法
12、。掌握三种遍历的非递归算法。3.3.可在三种遍历算法的基础上改造完成的其它二叉树算法:可在三种遍历算法的基础上改造完成的其它二叉树算法:求叶子个数,求二叉树结点总数,求度为求叶子个数,求二叉树结点总数,求度为1 1或度为或度为2 2的结点总数,复制二叉树,的结点总数,复制二叉树,建立二叉树,交换左右子树,查找值为建立二叉树,交换左右子树,查找值为n n的某个指定结点,删除值为的某个指定结点,删除值为n n的某个的某个指定结点,诸如此类等等等等。(熟练掌握二叉树的递归和非递归遍历算法)指定结点,诸如此类等等等等。(熟练掌握二叉树的递归和非递归遍历算法)。第8页,共15页,编辑于2022年,星期六
13、4.4.线索二叉树:线索二叉树:线索二叉树的引出,是为避免如二叉树遍历时的递归求解。众所周知,递归虽然形式线索二叉树的引出,是为避免如二叉树遍历时的递归求解。众所周知,递归虽然形式上比较好理解,但是消耗了大量的内存资源,如果递归层次一多,势必带来资源耗尽上比较好理解,但是消耗了大量的内存资源,如果递归层次一多,势必带来资源耗尽的危险,为了避免此类情况,线索二叉树便堂而皇之地出现了。对于线索二叉树,应的危险,为了避免此类情况,线索二叉树便堂而皇之地出现了。对于线索二叉树,应该掌握:线索化的实质,三种线索化的算法,线索化后二叉树的遍历算法,基本线索该掌握:线索化的实质,三种线索化的算法,线索化后二
14、叉树的遍历算法,基本线索二叉树的其它算法问题(如:查找某一类线索二叉树中指定结点的前驱或后继结点就二叉树的其它算法问题(如:查找某一类线索二叉树中指定结点的前驱或后继结点就是一类常考题)。是一类常考题)。5.5.最优二叉树(哈夫曼树):最优二叉树(哈夫曼树):最优二叉树是为了解决特定问题引出的特殊二叉树结构,它的前提是给二叉树的每条最优二叉树是为了解决特定问题引出的特殊二叉树结构,它的前提是给二叉树的每条边赋予了权值,这样形成的二叉树按权相加之和是最小的。最优二叉树一节,一般是边赋予了权值,这样形成的二叉树按权相加之和是最小的。最优二叉树一节,一般是给你一组数据,要求你建立基于这组数据的最优二
15、叉树,并求出其最小权值之和。给你一组数据,要求你建立基于这组数据的最优二叉树,并求出其最小权值之和。6.6.树与森林:树与森林:二叉树是一种特殊的树,这种特殊不仅仅在于其分支最多为二叉树是一种特殊的树,这种特殊不仅仅在于其分支最多为2 2以及其它特征,一个最以及其它特征,一个最重要的特殊之处是在于:二叉树是有序的!即:二叉树的左右孩子是不可交换的,如重要的特殊之处是在于:二叉树是有序的!即:二叉树的左右孩子是不可交换的,如果交换了就成了另外一棵二叉树,这样交换之后的二叉树与原二叉树是不相同的两棵果交换了就成了另外一棵二叉树,这样交换之后的二叉树与原二叉树是不相同的两棵二叉树。但是,对于普通的双
16、分支树而言,不具有这种性质。二叉树。但是,对于普通的双分支树而言,不具有这种性质。树与森林的遍历,不像二叉树那样丰富,他们只有两种遍历算法:先根与后根(对于树与森林的遍历,不像二叉树那样丰富,他们只有两种遍历算法:先根与后根(对于森林而言称作:先序与后序遍历)。二叉树、树与森林之所以能有以上的对应关系,森林而言称作:先序与后序遍历)。二叉树、树与森林之所以能有以上的对应关系,全拜二叉链表所赐。二叉树使用二叉链表分别存放他的左右孩子,树利用二叉链表存全拜二叉链表所赐。二叉树使用二叉链表分别存放他的左右孩子,树利用二叉链表存储孩子及兄弟(称孩子兄弟链表),而森林也是利用二叉链表存储孩子及兄弟。储孩
17、子及兄弟(称孩子兄弟链表),而森林也是利用二叉链表存储孩子及兄弟。第9页,共15页,编辑于2022年,星期六第七章图 1.1.考查有关图的基本概念问题:考查有关图的基本概念问题:这些概念是进行图一章学习的基础,这一章的概念包括:图的定义和特点,无向这些概念是进行图一章学习的基础,这一章的概念包括:图的定义和特点,无向图,有向图,入度,出度,完全图,生成子图,路径长度,回路,(强)连通图,图,有向图,入度,出度,完全图,生成子图,路径长度,回路,(强)连通图,(强)连通分量等概念。与这些概念相联系的相关计算题也应该掌握。(强)连通分量等概念。与这些概念相联系的相关计算题也应该掌握。2.2.考查图
18、的几种存储形式:考查图的几种存储形式:图的存储形式包括:邻接矩阵,(逆)邻接表,十字链表及邻接多重表。在图的存储形式包括:邻接矩阵,(逆)邻接表,十字链表及邻接多重表。在考查时,给出一种存储形式,要求用算法或手写出与给定的结构相对应的该图的考查时,给出一种存储形式,要求用算法或手写出与给定的结构相对应的该图的另一种存储形式。另一种存储形式。3.3.考查图的两种遍历算法:深度遍历和广度遍历考查图的两种遍历算法:深度遍历和广度遍历 深度遍历和广度遍历是图的两种基本的遍历算法,这两个算法对图一章的重深度遍历和广度遍历是图的两种基本的遍历算法,这两个算法对图一章的重要性等同于要性等同于“先序、中序、后
19、序遍历先序、中序、后序遍历”对于二叉树一章的重要性。在考查时,图对于二叉树一章的重要性。在考查时,图一章的算法设计题常常是基于这两种基本的遍历算法而设计的,比如:一章的算法设计题常常是基于这两种基本的遍历算法而设计的,比如:“求最长求最长的最短路径问题的最短路径问题”和和“判断两顶点间是否存在长为判断两顶点间是否存在长为K K的简单路径问题的简单路径问题”,就分别,就分别用到了广度遍历和深度遍历算法。用到了广度遍历和深度遍历算法。4.4.生成树、最小生成树的概念以及最小生成树的构造:生成树、最小生成树的概念以及最小生成树的构造:PRIMPRIM算法和算法和KRUSKALKRUSKAL算算法。要
20、求根据这两种最小生成树的算法思想写出其构造过程及最终生成的最小生法。要求根据这两种最小生成树的算法思想写出其构造过程及最终生成的最小生成树。成树。第10页,共15页,编辑于2022年,星期六5.5.拓扑排序问题:拓扑排序问题:拓扑排序有两种方法,一是无前趋的顶点优先算法,二是无后继的顶点优先算法。拓扑排序有两种方法,一是无前趋的顶点优先算法,二是无后继的顶点优先算法。换句话说,一种是换句话说,一种是“从前向后从前向后”的排序,一种是的排序,一种是“从后向前从后向前”排。当然,后一种排。当然,后一种排序出来的结果是排序出来的结果是“逆拓扑有序逆拓扑有序”的。的。6.6.关键路径问题:关键路径问题
21、:这个问题是图一章的难点问题。理解关键路径的关键有三个方面:一是何谓关键这个问题是图一章的难点问题。理解关键路径的关键有三个方面:一是何谓关键路径,二是最早时间是什么意思、如何求,三是最晚时间是什么意思、如何求。路径,二是最早时间是什么意思、如何求,三是最晚时间是什么意思、如何求。简单地说,最早时间是通过简单地说,最早时间是通过“从前向后从前向后”的方法求的,而最晚时间是通过的方法求的,而最晚时间是通过“从后从后向前向前”的方法求解的,并且,要想求最晚时间必须是在所有的最早时间都已经求的方法求解的,并且,要想求最晚时间必须是在所有的最早时间都已经求出来之后才能进行。这个问题一般是要求按照书上的
22、算法描述求解的过程和步骤。出来之后才能进行。这个问题一般是要求按照书上的算法描述求解的过程和步骤。7.7.最短路径问题:最短路径问题:与关键路径问题并称为图一章的两只拦路虎。概念理解是比较容易的,关键是算与关键路径问题并称为图一章的两只拦路虎。概念理解是比较容易的,关键是算法的理解。最短路径问题分为两种:一是求从某一点出发到其余各点的最短路径;法的理解。最短路径问题分为两种:一是求从某一点出发到其余各点的最短路径;二是求图中每一对顶点之间的最短路径。这个问题也具有非常实用的背景特色,二是求图中每一对顶点之间的最短路径。这个问题也具有非常实用的背景特色,一个典型的应该就是旅游景点及旅游路线的选择
23、问题。解决第一个问题用一个典型的应该就是旅游景点及旅游路线的选择问题。解决第一个问题用DIJSKTRADIJSKTRA算法,解决第二个问题用算法,解决第二个问题用FLOYDFLOYD算法。注意区分。算法。注意区分。第11页,共15页,编辑于2022年,星期六第八章查找 概念:概念:关键字、主关键字、次关键字的含义;静态查找与动态查找的关键字、主关键字、次关键字的含义;静态查找与动态查找的含义及区别;平均查找长度含义及区别;平均查找长度ASLASL的概念及在各种查找算法中的的概念及在各种查找算法中的计算方法和计算结果,特别是一些典型结构的计算方法和计算结果,特别是一些典型结构的ASLASL值,应
24、该记值,应该记住。住。在教材中,一般将在教材中,一般将searchsearch分为三类:分为三类:1st1st,在顺序表上的查找;,在顺序表上的查找;2nd2nd,在树表上的查找;,在树表上的查找;3rd3rd,在哈希表上的查找。下面详细介,在哈希表上的查找。下面详细介绍其考查知识点及考查方式:绍其考查知识点及考查方式:1.1.线性表上的查找:线性表上的查找:主要分为三种线性结构:顺序表,有序顺序表,索引顺序表。主要分为三种线性结构:顺序表,有序顺序表,索引顺序表。对于第一种,我们采用传统查找方法,逐个比较。对于及有序对于第一种,我们采用传统查找方法,逐个比较。对于及有序顺序表我们采用二分查找
25、法。对于第三种索引结构,我们采用顺序表我们采用二分查找法。对于第三种索引结构,我们采用索引查找算法。考生需要注意这三种表下的索引查找算法。考生需要注意这三种表下的ASLASL值以及三种算值以及三种算法的实现。其中,二分查找还要特别注意适用条件以及其递归法的实现。其中,二分查找还要特别注意适用条件以及其递归实现方法。实现方法。第12页,共15页,编辑于2022年,星期六2.2.树表上的查找:树表上的查找:这是本章的重点和难点。由于这一节介绍的内容是使用树表进行的查找,所以很这是本章的重点和难点。由于这一节介绍的内容是使用树表进行的查找,所以很容易与树一间的某些概念相混淆。本节内容与树一章的内容有
26、联系,但也有很多容易与树一间的某些概念相混淆。本节内容与树一章的内容有联系,但也有很多不同,应注意规纳。树表主要分为以下几种:二叉排序树,平衡二叉树,不同,应注意规纳。树表主要分为以下几种:二叉排序树,平衡二叉树,B B树,树,键树。其中,尤以前两种结构为重。由于二叉排序树与平衡二叉树是一种特殊的键树。其中,尤以前两种结构为重。由于二叉排序树与平衡二叉树是一种特殊的二叉树,所以与二叉树的联系就更为紧密,二叉树一章学好了,这里也就不难了。二叉树,所以与二叉树的联系就更为紧密,二叉树一章学好了,这里也就不难了。二叉排序树,简言之,就是二叉排序树,简言之,就是“左小右大左小右大”,它的中序遍历结果是
27、一个递增的有序,它的中序遍历结果是一个递增的有序序列。平衡二叉树是二叉排序树的优化,其本质也是一种二叉排序树,只不过,序列。平衡二叉树是二叉排序树的优化,其本质也是一种二叉排序树,只不过,平衡二叉树对左右子树的深度有了限定:深度之差的绝对值不得大于平衡二叉树对左右子树的深度有了限定:深度之差的绝对值不得大于1 1。平衡二。平衡二叉树的建立也是一个常考点,但该知识点归根结底还是关注的平衡二叉树的四种叉树的建立也是一个常考点,但该知识点归根结底还是关注的平衡二叉树的四种调整算法,所以应该掌握平衡二叉树的四种调整算法,调整的一个参照是:调整调整算法,所以应该掌握平衡二叉树的四种调整算法,调整的一个参
28、照是:调整前后的中序遍历结果相同。前后的中序遍历结果相同。B B树是二叉排序树的进一步改进,也可以把树是二叉排序树的进一步改进,也可以把B B树理解为三叉、四叉树理解为三叉、四叉.排序树。除排序树。除B B树的查找算法外,应该特别注意一下树的查找算法外,应该特别注意一下B B树的插入和删除算法。因为这两种算法涉树的插入和删除算法。因为这两种算法涉及到及到B B树结点的分裂和合并,是一个难点。树结点的分裂和合并,是一个难点。3.3.基本哈希表的查找算法:基本哈希表的查找算法:哈希一词,是外来词,译自哈希一词,是外来词,译自“hash”“hash”一词,意为:散列或杂凑的意思。哈希表查一词,意为:
29、散列或杂凑的意思。哈希表查找的基本思想是:根据当前待查找数据的特征,以记录关键字为自变量,设计一找的基本思想是:根据当前待查找数据的特征,以记录关键字为自变量,设计一个个functionfunction,该函数对关键字进行转换后,其解释结果为待查的地址。基于哈希,该函数对关键字进行转换后,其解释结果为待查的地址。基于哈希表的考查点有:哈希函数的设计,冲突解决方法的选择及冲突处理过程的描述。表的考查点有:哈希函数的设计,冲突解决方法的选择及冲突处理过程的描述。第13页,共15页,编辑于2022年,星期六第九章内部排序 从排序算法的种类来分,本章主要阐述了以下几种排序方法:插入、选择、从排序算法的
30、种类来分,本章主要阐述了以下几种排序方法:插入、选择、交换、归并、计数等五种排序方法交换、归并、计数等五种排序方法 其中,在插入排序中又可分为:直接插入、折半插入、其中,在插入排序中又可分为:直接插入、折半插入、2 2路插入、希尔排序。路插入、希尔排序。这几种插入排序算法的最根本的不同点,说到底就是根据什么规则寻找新元这几种插入排序算法的最根本的不同点,说到底就是根据什么规则寻找新元素的插入点。素的插入点。直接插入是依次寻找,折半插入是折半寻找。希尔排序,是通过控制每次参与排序的直接插入是依次寻找,折半插入是折半寻找。希尔排序,是通过控制每次参与排序的数的总范围数的总范围“由小到大由小到大”的
31、增量来实现排序效率提高的目的。的增量来实现排序效率提高的目的。交换排序,又称冒泡排序,在交换排序的基础上改进又可以得到快速排序。交换排序,又称冒泡排序,在交换排序的基础上改进又可以得到快速排序。快速排序的思想,一语以敝之:用中间数将待排数据组一分为二。快速排序,快速排序的思想,一语以敝之:用中间数将待排数据组一分为二。快速排序,在处理的在处理的“问题规模问题规模”这个概念上,与希尔有点相反,快速排序,是先处理这个概念上,与希尔有点相反,快速排序,是先处理一个较大规模,然后逐渐把处理的规模降低,最终达到排序的目的。一个较大规模,然后逐渐把处理的规模降低,最终达到排序的目的。选择排序,相对于前面几
32、种排序算法来说,难度大一点。具体来说,它可以分为:选择排序,相对于前面几种排序算法来说,难度大一点。具体来说,它可以分为:简单选择、树选择、堆排。这三种方法的不同点是,根据什么规则选取最小的数。简单选择、树选择、堆排。这三种方法的不同点是,根据什么规则选取最小的数。简单选择,是通过简单的数组遍历方案确定最小数;树选择,是通过简单选择,是通过简单的数组遍历方案确定最小数;树选择,是通过“锦标赛锦标赛”类似的思想,让两数相比,不断淘汰较大(小)者,最终选出最小(大)数;而类似的思想,让两数相比,不断淘汰较大(小)者,最终选出最小(大)数;而堆排序,是利用堆这种数据结构的性质,通过堆元素的删除、调整
33、等一系列操作堆排序,是利用堆这种数据结构的性质,通过堆元素的删除、调整等一系列操作将最小数选出放在堆顶。堆排序中的堆建立、堆调整是重要考点。将最小数选出放在堆顶。堆排序中的堆建立、堆调整是重要考点。第14页,共15页,编辑于2022年,星期六归并排序,故名思义,是通过归并排序,故名思义,是通过“归并归并”这种操作完成排序的这种操作完成排序的目的,既然是归并就必须是两者以上的数据集合才可能实现目的,既然是归并就必须是两者以上的数据集合才可能实现归并。所以,在归并排序中,关注最多的就是归并。所以,在归并排序中,关注最多的就是2 2路归并。算路归并。算法思想比较简单,有一点,要铭记在心:归并排序是稳
34、定排法思想比较简单,有一点,要铭记在心:归并排序是稳定排序。序。基数排序,是一种很特别的排序方法,也正是由于它的特殊,基数排序,是一种很特别的排序方法,也正是由于它的特殊,所以,基数排序就比较适合于一些特别的场合,比如扑克牌所以,基数排序就比较适合于一些特别的场合,比如扑克牌排序问题等。基数排序,又分为两种:多关键字的排序(扑排序问题等。基数排序,又分为两种:多关键字的排序(扑克牌排序),链式排序(整数排序)。基数排序的核心思想克牌排序),链式排序(整数排序)。基数排序的核心思想也是利用也是利用“基数空间基数空间”这个概念将问题规模规范、变小,并这个概念将问题规模规范、变小,并且,在排序的过程中,只要按照基排的思想,是不用进行关且,在排序的过程中,只要按照基排的思想,是不用进行关键字比较的,这样得出的最终序列就是一个有序序列。键字比较的,这样得出的最终序列就是一个有序序列。本章各种排序算法的思想以及伪代码实现,及其时间复杂度本章各种排序算法的思想以及伪代码实现,及其时间复杂度都是必须掌握的,学习时要多注意规纳、总结、对比。此外,都是必须掌握的,学习时要多注意规纳、总结、对比。此外,对于教材中的对于教材中的10.710.7节,要求必须熟记,在理解的基础上记忆。节,要求必须熟记,在理解的基础上记忆。第15页,共15页,编辑于2022年,星期六