考研专业课资料数据结构的复习重点归纳
我们在进行考研专业课的复习时,需要把资料数据结构的复习重点归纳好。小编为大家精心准备了考研专业课资料数据结构的复习知识点,欢迎大家前来阅读。
考研专业课资料数据结构的复习要点总结
一、数据结构的章节结构及重点构成
数据结构学科的章节划分基本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,内排,外排,文件,动态存储分配。
对于绝大多数的学校而言,“外排,文件,动态存储分配”三章基本上是不考的,在大多数高校的计算机本科教学过程中,这三章也是基本上不作讲授的。所以,大家在这三章上可以不必花费过多的精力,只要知道基本的概念即可。但是,对于报考名校特别是该校又有在试卷中对这三章进行过考核的历史,那么这部分朋友就要留意这三章了。
按照以上我们给出的章节以及对后三章的介绍,数据结构的章节比重大致为:
概论:内容很少,概念简单,分数大多只有几分,有的学校甚至不考。
线性表:基础章节,必考内容之一。考题多数为基本概念题,名校考题中,鲜有大型算法设计题。如果有,也是与其它章节内容相结合。
栈和队列:基础章节,容易出基本概念题,必考内容之一。而栈常与其它章节配合考查,也常与递归等概念相联系进行考查。
串 :基础章节,概念较为简单。专门针对于此章的大型算法设计题很少,较常见的是根据KMP进行算法分析。
多维数组及广义表 :基础章节,基于数组的算法题也是常见的,分数比例波动较大,是出题的“可选单元”或“侯补单元”。一般如果要出题,多数不会作为大题出。数组常与“查找,排序”等章节结合来作为大题考查。
树和二叉树 :重点难点章节,各校必考章节。各校在此章出题的不同之处在于,是否在本章中出一到两道大的算法设计题。通过对多所学校的试卷分析,绝大多数学校在本章都曾有过出大型算法设计题的历史。
图 :重点难点章节,名校尤爱考。如果作为重点来考,则多出现于分析与设计题型当中,可与树一章共同构成算法设计大题的题型设计。
查找 :重点难点章节,概念较多,联系较为紧密,容易混淆。出题时可以作为分析型题目给出,在基本概念型题目中也较为常见。算法设计型题中可以数组结合来考查,也可以与树一章结合来考查。
排序 :与查找一章类似,本章同属于重点难点章节,且概念更多,联系更为紧密,概念之间更容易混淆。在基本概念的考查中,尤爱考各种排序算法的优劣比较此类的题。算法设计大题中,如果作为出题,那么常与数组结合来考查。
二、数据结构各章节重点勾划:
第0章 概述
本章主要起到总领作用,为读者进行数据结构的学习进行了一些先期铺垫。大家主要注意以下几点:数据结构的基本概念,时间和空间复杂度的概念及度量方法,算法设计时的注意事项。本章考点不多,只要稍加注意理解即可。
第一章 线性表
作为线性结构的开篇章节,线性表一章在线性结构的学习乃至整个数据结构学科的学习中,其作用都是不可低估的。在这一章,第一次系统性地引入链式存储的概念,链式存储概念将是整个数据结构学科的重中之重,无论哪一章都涉及到了这个概念。
总体来说,线性表一章可供考查的重要考点有以下几个方面:
1.线性表的相关基本概念,如:前驱、后继、表长、空表、首元结点,头结点,头指针等概念。
2.线性表的结构特点,主要是指:除第一及最后一个元素外,每个结点都只有一个前趋和只有一个后继。
3.线性表的顺序存储方式及其在具体语言环境下的两种不同实现:表空间的静态分配和动态分配。静态链表与顺序表的相似及不同之处。
4.线性表的链式存储方式及以下几种常用链表的特点和运算:单链表、循环链表,双向链表,双向循环链表。其中,单链表的归并算法、循环链表的归并算法、双向链表及双向循环链表的插入和删除算法等都是较为常见的考查方式。此外,近年来在不少学校中还多次出现要求用递归算法实现单链表输出(可能是顺序也可能是倒序)的问题。
在链表的小题型中,经常考到一些诸如:判表空的题。在不同的链表中,其判表空的方式是不一样的,请大家注意。
5.线性表的顺序存储及链式存储情况下,其不同的优缺点比较,即其各自适用的场合。单链表中设置头指针、循环链表中设置尾指针而不设置头指针以及索引存储结构的各自好处。
第二章 栈与队列
栈与队列,是很多学习DS的同学遇到第一只拦路虎,很多人从这一章开始坐晕车,一直晕到现在。所以,理解栈与队列,是走向DS高手的一条必由之路,。
学习此章前,你可以问一下自己是不是已经知道了以下几点:
1.栈、队列的定义及其相关数据结构的概念,包括:顺序栈,链栈,共享栈,循环队列,链队等。栈与队列存取数据(请注意包括:存和取两部分)的特点。
2.递归算法。栈与递归的关系,以及借助栈将递归转向于非递归的经典算法:n!阶乘问题,fib数列问题,hanoi问题,背包问题,二叉树的递归和非递归遍历问题,图的深度遍历与栈的关系等。其中,涉及到树与图的问题,多半会在树与图的相关章节中进行考查。
3.栈的应用:数值表达式的求解,括号的配对等的原理,只作原理性了解,具体要求考查此为题目的算法设计题不多。
4.循环队列中判队空、队满条件,循环队列中入队与出队算法。
如果你已经对上面的几点了如指掌,栈与队列一章可以不看书了。注意,我说的是可以不看书,并不是可以不作题哦。
第三章 串
经历了栈一章的痛苦煎熬后,终于迎来了串一章的柳暗花明。
串,在概念上是比较少的一个章节,也是最容易自学的章节之一,但正如每个过来人所了解的,KMP算法是这一章的重要关隘,突破此关隘后,走过去又是一马平川的大好DS山河了,呵呵。
串一章需要攻破的主要堡垒有:
1.串的基本概念,串与线性表的关系(串是其元素均为字符型数据的特殊线性表),空串与空格串的区别,串相等的条件
2.串的基本操作,以及这些基本函数的使用,包括:取子串,串连接,串替换,求串长等等。运用串的基本操作去完成特定的算法是很多学校在基本操作上的考查重点。
3.顺序串与链串及块链串的区别和联系,实现方式。
4.KMP算法思想。KMP中next数组以及nextval数组的求法。明确传统模式匹配算法的不足,明确next数组需要改进之外。其中,理解算法是核心,会求数组是得分点。不用我多说,这一节内容是本章的重中之重。可能进行的考查方式是:求next和nextval数组值,根据求得的next或nextval数组值给出运用KMP算法进行匹配的匹配过程。
第四章 数组与广义表
学过程序语言的朋友,数组的概念我们已经不是第一次见到了,应该已经“一回生,二回熟”了,所以,在概念上,不会存在太大障碍。但作为考研课程来说,本章的考查重点可能与大学里的程序语言所关注的不太一样,下面会作介绍。
广义表的概念,是数据结构里第一次出现的。它是线性表或表元素的有限序列,构成该结构的每个子表或元素也是线性结构的,所以,这一章也归入线性结构中。
本章的考查重点有:
1.多维数组中某数组元素的position求解。一般是给出数组元素的首元素地址和每个元素占用的地址空间并组给出多维数组的维数,然后要求你求出该数组中的某个元素所在的位置。
2.明确按行存储和按列存储的区别和联系,并能够按照这两种不同的存储方式求解1中类型的题。
3.将特殊矩阵中的元素按相应的换算方式存入数组中。这些矩阵包括:对称矩阵,三角矩阵,具有某种特点的稀疏矩阵等。熟悉稀疏矩阵的三种不同存储方式:三元组,带辅助行向量的二元组,十字链表存储。掌握将稀疏矩阵的三元组或二元组向十字链表进行转换的算法。
4.广义表的概念,特别应该明确表头与表尾的定义。这一点,是理解整个广义表一节算法的基础。近来,在一些学校中,出现了这样一种题目类型:给出对某个广义表L若干个求了若干次的取头和取尾操作后的串值,要求求出原广义表L。大家要留意。
5.与广义表有关的递归算法。由于广义表的定义就是递归的,所以,与广义表有关的算法也常是递归形式的。比如:求表深度,复制广义表等。这种题目,可以根据不同角度广义表的表现形式运用两种不同的方式解答:一是把一个广义表看作是表头和表尾两部分,分别对表头和表尾进行操作;二是把一个广义表看作是若干个子表,分别对每个子表进行操作。
第五章 树与二叉树
从对线性结构的研究过度到对树形结构的研究,是数据结构课程学习的一次跃变,此次跃变完成的好坏,将直接关系到你到实际的考试中是否可以拿到高分,而这所有的一切,将最终影响你的专业课总分。所以,树这一章的`重要性,已经不说自明了。
总体来说,树一章的知识点包括:
二叉树的概念、性质和存储结构,二叉树遍历的三种算法(递归与非递归),在三种基本遍历算法的基础上实现二叉树的其它算法,线索二叉树的概念和线索化算法以及线索化后的查找算法,最优二叉树的概念、构成和应用,树的概念和存储形式,树与森林的遍历算法及其与二叉树遍历算法的联系,树与森林和二叉树的转换。
计算机考研8月复习任务
1、数据结构
严蔚敏教材+数据结构习题与解析(清华大学出版社第三版)
8月:结合自己的做题经验再看看教材。然后,这个月的重点是专攻算法题,每天看1、2道,写1、2道,记住一定要每天,千万不要偷懒。
2、组成原理
组成原理其实不需要做太多的题,重点是理解和记忆。
8月:争取做完一本完整的习题书。
3、操作系统
操作系统是4门课里最简单的了,这35分要力争拿30分或以上。
8月:做一本习题,还是推荐习题与解析(清华大学出版社第3版),大题小题均有详细讲解。操作系统每天看看教材和做习题,扫清盲点即可。另外,每周动手做一个PV操作的算法题,争取这个阶段的复习,能够把算法题做到“从会到熟“的地步。
4、计算机网络
毕竟网络就25分,不要花费太多的时间。
8月:找些质量好的题来训练,再结合着读一读教材。这门课保证拿20分左右就可以,毕竟这门专业课要拉开分数,主要靠的是数据结构和组成原理这两部分。
考研计算机组成原理复习要领
一、考查目标
1、理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
2、理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。
3、能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。
二、知识点解析
在计算机组成原理方面,主要考查计算机系统基础知识、数据的表示和运算、存储器层次结构、指令系统、中央处理器、总线、输入输出系统。
1、计算机系统概述
学习计算机组成原理之前,我们先要了解计算机的发展历程,搞清楚计算机的系统层次结构,包括计算机硬件的基本组成(五大部件的构成)、计算机软件的分类,以及计算机的基本工作过程。
从体系结构上来看,有多种不同类型的计算机,那么这些不同的计算机谁好谁坏?如何评价?所以,还需要我们了解计算机性能评价指标和相关参数,包括吞吐量、响应时间;CPU时钟周期、主频、CPI、CPU执行时间;MIPS、MFLOPS等。
2、数据的表示和运算
我们日常所使用的是十进制数据,但在计算机中,除了十进制数据外,还有二进制、八进制、十六进制表示方法,我们要掌握这些进位计数制及其相互转换的方法,要搞清楚真值(实际的数值)和机器数(计算机中表示的数值)之间的关系,特别是负数的各种表示。另外,还要理解BCD码、字符与字符串的编码方法,以及数据的校验码(奇偶校验、CRC冗余校验等)。
不管是哪种进制和校验方法,计算机中数据的表示有原码、反码、补码等方法,我们要搞清楚它们之间的关联与区别。
在计算机中对数据进行计算,分为定点表示和浮点表示。
在定点数的表示和运算方面,我们要掌握定点数的表示(无符号数的表示,有符号数的表示)和定点数的运算,包括定点数的位移运算、原码定点数的加/减运算、补码定点数的加/减运算、定点数的乘/除运算、溢出概念和判别方法。在浮点数的表示和运算方面,我们要掌握浮点数的表示(浮点数的表示范围和IEEE754标准)和浮点数的加/减运算。
本知识点的最后一个考点就是算术逻辑单元ALU,我们要掌握串行加法器和并行加法器、算术逻辑单元ALU的功能和结构。
3、存储器层次结构
从整个计算机的存储体系来看,可以看成是一个“Cache—内存—外存”三级结构,在这个层次化结构中,我们要掌握存储器的分类以及各类存储器的基本工作原理,包括半导体随机存取存储器(SRAM、DRAM)、只读存储器(ROM),掌握主存储器(内存)与CPU的连接和数据交换、双口RAM和多模块存储器,还有就是外存储器。
在存储器这个知识点中,2个很重要的考点是高速缓冲存储器(Cache)和虚拟存储器。
在CPU和内存之间增加一层Cache,其目的是为了解决CPU和内存的速度匹配问题。在这一点,我们要掌握程序访问的局部性原理(时间局部性、空间局部性)、Cache的基本工作原理(命中率)、Cache和主存之间的映射方式、Cache中主存块的替换算法,以及Cache写策略。
虚拟存储器的重点在于“虚拟”二字,我们要掌握虚拟存储器的基本概念及种类,包括页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器、TLB(快表)等,理解这些虚拟存储器的基本原理、碎片的处理,各种方法的优点和缺点。
4、指令系统
在指令系统知识点中,我们要掌握指令的格式(包括指令的基本格式、定长操作码指令格式、扩展操作码指令格式)和各种寻址方式,还要能够区分数据寻址和指令寻址的区别。
本知识点的另外一个重要考点就是CISC(复杂指令系统计算机)和RISC(精简指令系统计算机),我们要掌握它们的基本概念、特征,以及它们之间的主要区别。
5、中央处理器
中央处理器,也就是我们常说的CPU。在这个知识点,我们要掌握CPU的功能和基本结构,以及工作原理,具体包括指令执行过程、数据通路的功能和基本结构、控制器的功能和工作原理(硬布线控制器、微程序控制器)。特别是在微程序控制器考点中,要掌握微程序、微指令和微命令,微指令的编码方式,以及微地址的形式方式。
在这个知识点中,一个最重要的考点是流水线(主要是指令流水线)。我们要搞清楚流水线的基本概念(包括超标量和动态流水线),为什么需要流水线,流水线有哪些优势,哪些因素会影响流水线,等等。在这一点,有可能出现计算题,例如,求流水线的周期、求指令的执行时间。有关流水线,还有一些评价指标,例如流水线的吞吐率、加速比等。
6、总线
总线就是一组进行互连和传输信息(指令、数据和地址)的信号线,我们要掌握总线的基本概念,总线的分类,以及总线的组成和性能指标(例如,各类总线的宽度会影响哪些部件的性能等)。
其次,就是要掌握总线仲裁方法(包括集中仲裁方式和分布仲裁方式)和总线操作和定时(包括同步定时方式和异步定时方式)。
最后,就是要对总线的标准(正式标准和工业标准)有所了解,总线标准主要规定总线的机械结构规范、功能结构规范和电气规范。
7、输入输出系统
在输入输出(I/O)系统知识点,我们首先要掌握I/O系统的基本概念,理解各种外部设备,其中包括输入设备(键盘、鼠标、扫描仪等)、输出设备(显示器、打印机等)、外存储器(硬盘存储器、磁盘阵列、光盘存储器等)。要理解这些设备的基本工作原理和常见的性能指标。例如显示器的分辨率、磁盘的读写时间等,特别是磁盘的有关读写过程(寻道时间、等待时间等),是一定要掌握的。
其次,我们要掌握I/O接口(I/O控制器)的功能和基本结构、I/O端口及其编址方式。
在I/O方式中,主要掌握程序查询方式、程序中断方式、DMA方式、通道方式的基本概念、工作原理和过程,以及这些方式之间的区别、各自的优点和缺点、应用场合。在这些方式中,以程序中断方式为考查重点,我们要掌握中断的基本概念、中断响应过程、中断处理过程、多重中断和中断屏蔽的概念。
三、复习方法
学习方法
计算机组成原理的基本要求是使考生掌握计算机常用的逻辑器件、部件的原理、参数及使用方法,学懂简单、完备的单台计算机的基本组成原理,学习计算机设计中的入门性知识,掌握维护、使用计算机的技能。
总的来讲,计算机组成原理课程中属于记忆型的知识比较多,需要我们花时间去对相关概念、原理进行识记。另外,就是有关参数和性能指标的计算和评价,这一块是需要理解的,不能靠死记硬背。在学习计算机组成原理课程中,要注意以下几方面的问题:
(1)要正确理解考试大纲中规定的各种基本概念,掌握各概念中的要点。
(2)要能将有关的概念和原理联系起来,不要孤立地学习各个部分的内容,比如数据表示、运算和运算器部件等,都要关联起来。
(3)要把握重点、难点问题,分清主次。所以,学习时要紧紧抓住考试大纲。
【考研专业课资料数据结构的复习重点归纳】相关文章:
计算机考研数据结构复习重点归纳11-08
考研计算机专业课的重点归纳11-09
法硕考研专业课的复习重点12-16
【实用】考研数学概率复习重点归纳总结01-26
管理学考研专业课复习重点11-10
管理学考研专业课的复习重点11-10
心理学考研专业课复习重点11-09
考研数学复习的重点知识该如何归纳12-07
经济学考研专业课各个阶段的复习重点12-15