数据结构复习重点归纳15761.pdf
《数据结构复习重点归纳15761.pdf》由会员分享,可在线阅读,更多相关《数据结构复习重点归纳15761.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.一、数据构造的章节构造及重点构成 数据构造学科的章节划分根本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,排,外排,文件,动态存储分配。对于绝大多数的学校而言,外排,文件,动态存储分配三章根本上是不考的,在大多数高校的计算机本科教学过程中,这三章也是根本上不作讲授的。所以,大家在这三章上可以不必花费过多的精力,只要知道根本的概念即可。但是,对于报考名校特别是该校又有在试卷中对这三章进展过考核的历史,则这局部朋友就要留意这三章了。按照以上我们给出的章节以及对后三章的介绍,数据构造的章节比重大致为:概论:容很少,概念简单,分数大多只有几分,有的学校甚至不考。线性表:根
2、底章节,必考容之一。考题多数为根本概念题,名校考题中,鲜有大型算法设计题。如果有,也是与其它章节容相结合。栈和队列:根底章节,容易出根本概念题,必考容之一。而相联系进展考察。串:根底章节,概念较为简单。专门针对于此章的大型算法设计题很少,较常见的是根据 KMP 进展算法分析。多维数组及广义表:根底章节,基于数组的算法题也是常见的,分数比例波动较大,是出题的可选单元或侯补单元。一般如果要出题,多数不会作为大题出。数组常与查找,排序等章节结合来作为大题考察。树和二叉树:重点难点章节,各校必考章节。各校在此章出题的不同之处在于,是否在本章中出一到两道大的算法设计题。通过对多所学校的试卷分析,绝大多数
3、学校在本章都曾有过出大型算法设计题的历史。图:重点难点章节,名校尤爱考。如果作为重点来考,则多出现于分析与设计题型当中,可与树一章共同构成算法设计大题的题型设计。查找:重点难点章节,概念较多,联系较为严密,容易混淆。出题时可以作为分析型题目给出,在根本概念型题目中也较为常见。算法设计型题中可以数组结合来考察,也可以与树一章结合来考察。排序:与查找一章类似,本章同属于重点难点章节,且概念更多,联系更为严密,概念之间更容易混淆。在根本概念的考察中,尤爱考各种排序算法的优劣比拟此类的题。算法设计大题中,如果作为出题,则常与数组结合来考察。二、数据构造各章节重点勾划 第 0 章概述 本章主要起到总领作
4、用,为读者进展数据构造的学习进展了一些先期铺垫。大家主要注意以下几点:数据构造的根本概念,时间和空间复杂度的概念及度量方法,算法设计时的考前须知。本章考点不多,只要稍加注意理解即可。第一章 线性表 作为线性构造的开篇章节,线性表一章在线性构造的学习乃至整个数据构造学科的学习中,其作用都是不可低估的。在这一章,第一次系统性地引入链式存储的概念,链式存储概念将是整个数据构造学科的重中之重,无论哪一章都涉及到了这个概念。总体来说,线性表一章可供考察的重要考点有以下几个方面:1.线性表的相关根本概念,如:前驱、后继、表长、空表、首元结点,头结点,头指针等概念。2.3.线性表的顺序存储方式及其在具体语言
5、环境下的两种不同实现:表空间的静态分配和动态分配。静态链表与顺序表的相似及不同之处。.4.线性表的链式存储方式及以下几种常用链表的特点和运算:单链表、循环链表,双向链表,双向循环链表。其中,单链表的归并算法、循环链表的归并算法、双向链表及双向循环链表的插入和删除算法等都是较为常见的考察方式。此外,近年来在不少学校中还屡次出现要求用递归算法实现单链表输出可能是顺序也可能是倒序的问题。在链表的小题型中,经常考到一些诸如:判表空的题。在不同的链表中,其判表空的方式是不一样的,请大家注意。5.线性表的顺序存储及链式存储情况下,其不同的优缺点比拟,即其各自适用的场合。单链表中设置头指针、循环链表中设置尾
6、指针而不设置头指针以及索引存储构造的各自好处。第二章 栈与队列 栈与队列,是很多学习 DS 的同学遇到第一只拦路虎,很多人从这一章开场坐晕车,一直晕到现在。所以,理解栈与队列,是走向 DS 高手的一条必由之路。学习此章前,你可以问一下自己是不是已经知道了以下几点:1.栈、队列的定义及其相关数据构造的概念,包括:顺序栈,链栈,共享栈,循环队列,链队等。栈与队列存取数据请注意包括:存和取两局部的特点。2.递归算法。栈与递归的关系,以及借助栈将递归转向于非递归的经典算法:n!阶乘问题,fib 数列问题,Hanoi 问题,背包问题,二叉树的递归和非递归遍历问题,图的深度遍历与栈的关系等。其中,涉及到树
7、与图的问题,多半会在树与图的相关章节中进展考察。3.栈的应用:数值表达式的求解,括号的配对等的原理,只作原理性了解,具体要求考察此为题目的算法设计题不多。4.循环队列中判队空、队满条件,循环队列中入队与出队算法。如果你已经对上面的几点了如指掌,栈与队列一章可以不看书了。注意,我说的是可以不看书,并不是可以不作题哦。第三章 串 经历了栈一章的痛苦煎熬后,终于迎来了串一章的柳暗花明。串,在概念上是比拟少的一个章节,也是最容易自学的章节之一,但正如每个过来人所了解的,KMP 算法是这一章的重要关隘,突破此关隘后,走过去又是一马平川的大好 DS 山河了,呵呵。串一章需要攻破的主要堡垒有:1.串的根本概
8、念,串与线性表的关系串是其元素均为字符型数据的特殊线性表,空串与空格串的区别,串相等的条件。2.串的根本操作,以及这些根本函数的使用,包括:取子串,串连接,串替换,求串长等等。运用串的根本操作去完成特定的算法是很多学校在根本操作上的考察重点。3.顺序串与链串及块链串的区别和联系,实现方式。4.KMP 算法思想。KMP 中 ne*t 数组以及 ne*tval 数组的求法。明确传统模式匹配算法的缺乏,明确 ne*t 数组需要改良之外。其中,理解算法是核心,会求数组是得分点。不用我多说,这一节容是本章的重中之重。可能进展的考察方式是:求 ne*t 和 ne*tval 数组值,根据求得的 ne*t 或
9、 ne*tval 数组值给出运用 KMP 算法进展匹配的匹配过程。第四章 数组与广义表 学过程序语言的朋友,数组的概念我们已经不是第一次见到了,应该已经一回生,二回熟了,所以,在概念上,不会存在太大障碍。但作为考研课程来说,本章的考察重点可能与大学里的程序语言所关注的不太一样,下面会作介绍。广义表的概念,是数据构造里第一次出现的。它是线性表或表元素的有限序列,构成该构造的每个子表或元素也是线性构造的,所以,这一章也归入线性构造中。本章的考察重点有:1.多维数组中*数组元素的 position 求解。一般是给出数组元素的首元素地址和每个元.素占用的地址空间并组给出多维数组的维数,然后要求你求出该
10、数组中的*个元素所在的位置。2.明确按行存储和按列存储的区别和联系,并能够按照这两种不同的存储方式求解 1 中类型的题。3.将特殊矩阵中的元素按相应的换算方式存入数组中。这些矩阵包括:对称矩阵,三角矩阵,具有*种特点的稀疏矩阵等。熟悉稀疏矩阵的三种不同存储方式:三元组,带辅助行向量的二元组,十字链表存储。掌握将稀疏矩阵的三元组或二元组向十字链表进展转换的算法。4.广义表的概念,特别应该明确表头与表尾的定义。这一点,是理解整个广义表一节算法的根底。近来,在一些学校中,出现了这样一种题目类型:给出对*个广义表 L 假设干个求了假设干次的取头和取尾操作后的串值,要求求出原广义表 L。大家要留意。5.
11、与广义表有关的递归算法。由于广义表的定义就是递归的,所以,与广义表有关的算法也常是递归形式的。比方:求表深度,复制广义表等。这种题目,可以根据不同角度广义表的表现形式运用两种不同的方式解答:一是把一个广义表看作是表头和表尾两局部,分别对表头和表尾进展操作;二是把一个广义表看作是假设干个子表,分别对每个子表进展操作。第五章 树与二叉树 从对线性构造的研究过度到对树形构造的研究,是数据构造课程学习的一次跃变,此次跃变完成的好坏,将直接关系到你到实际的考试中是否可以拿到高分,而这所有的一切,将最终影响你的专业课总分。所以,树这一章的重要性,已经不说自明了。总体来说,树一章的知识点包括:二叉树的概念、
12、性质和存储构造,二叉树遍历的三种算法递归与非递归,在三种根本遍历算法的根底上实现二叉树的其它算法,线索二叉树的概念和线索化算法以及线索化后的查找算法,最优二叉树的概念、构成和应用,树的概念和存储形式,树与森林的遍历算法及其与二叉树遍历算法的联系,树与森林和二叉树的转换。下面我们来看考试中对以上知识的主要考察方法:1.二叉树的概念、性质和存储构造考察方法可有:直接考察二叉树的定义,让你说明二叉树与普通双分支树的区别;,普通二叉树的五个性质:第 i 层的最多结点数,深度为 k 的二叉树的最多结点数,n0=n2+1 的性质,n 个结点的完全二叉树的深度,顺序存储二叉树时孩子结点与父结点之间的换算关系
13、左为:2*i,右为:2*i+1。二叉树的顺序存储和二叉链表存储的各自优缺点及适用场合,二叉树的三叉链表表示方法。2.二叉树的三种遍历算法这一知识点掌握的好坏,将直接关系到树一章的算法能否理解,进而关系到树一章的算法设计题能否顺利完成。二叉树的遍历算法有三种:先序,中序和后序。其划分的依据是视其每个算法中对根结点数据的顺序而定。不仅要熟练掌握三种遍历的递归算法,理解其执行的实际步骤,并且应该熟练掌握三种遍历的非递归算法。由于二叉树一章的很多算法,可以直接根据三种递归算法改造而来比方:求叶子个数,所以,掌握了三种遍历的非递归算法后,对付诸如:利用非递归算法求二叉树 叶 子 个 数 这 样 的 题
14、目 就 下 笔 如 有 神 了。我 会 在 另 一 篇 系 列 文 章bbs.kaoyan./ibbs.dllb.3&bp=2&bt=0里给出三种遍历的递归和非递归算法的背记版,到时请大家一定熟记。3.可在三种遍历算法的根底上改造完成的其它二叉树算法:求叶子个数,求二叉树结点总数,求度为 1 或度为 2 的结点总数,复制二叉树,建立二叉树,交换左右子树,查找值为 n 的*个指定结点,删除值为 n 的*个指定结点,诸如此类等等等等。如果你可以熟练掌握二叉树的递归和非递归遍历算法,则解决以上问题就是小菜一碟了。4.线索二叉树:线索二叉树的引出,是为防止如二叉树遍历时的递归求解。众所周知,.递归虽然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习 重点 归纳 15761
限制150内