2019考研计算机专业课核心考点总结

本站小编 免费考研网 发布于2018-07-31 0次阅读
摘要 :   2019考研计算机专业课核心考点总结(1)  队列和栈结构的概念理解  栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶。表中无元素时为空栈。栈的修改是按后进先出的原则进行的。通常栈有顺序栈和链栈两种存储结构。  队列是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端...

  2019考研计算机专业课核心考点总结(1)

  队列和栈结构的概念理解

  栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶。表中无元素时为空栈。栈的修改是按后进先出的原则进行的。通常栈有顺序栈和链栈两种存储结构。

  队列是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端进行,允许删除的一端称为队头,允许插入的一端称为队尾,队列的操作原则是先进先出的。队列也有顺序存储和链式存储两种存储结构。

  线性表中单链表相关算法设计与实现

  一些基础但又重要的单链表相关算法,如:

  1.打印单链表,void PrintList(List list);使用一个指针遍历所有链表节点。

  2.两个升序链表,打印tarList中的相应元素,这些元素的序号由SeqList指定,void PrintLots(List tarList, List seqList);使用两个指针分别遍历两个链表,每次取出序列链表的一个序号后,根据该序号,到达目标链表指定节点。

  3.两个升序链表的交集 ,List Intersect(List l1, List l2);

  4.两个升序链表的并集 ,List Join(List l1, List l2);

  5.单链表就地置逆,void Reverse(List l);使用三个指针表示前驱,当前和后继节点,每次将当前节点的Next指向前驱节点,然后向后遍历直到链表末尾。

  二叉树的遍历

  遍历的过程就是把非线性结构的二叉树中的结点排成一个线性序列的过程。

  二叉树遍历方法可分为两大类,一类是“宽度优先”法,即从根结点开始,由上到下,从左往右一层一层的遍历;另一类是“深度优先法”,即一棵子树一棵子树的遍历。

  2019考研计算机专业课核心考点总结(2)

  带权图的最短路径算法及应用

  迪杰斯特拉(Dijkstra)算法求单源最短路径,算法思想:

  设S为最短距离已确定的顶点集(看作红点集),V-S是最短距离尚未确定的顶点集(看作蓝点集)。

  1.初始化:初始化时,只有源点s的最短距离是已知的(SD(s)=0),故红点集S={s},蓝点集为空。

  2.重复以下工作,按路径长度递增次序产生各顶点最短路径,在当前蓝点集中选择一个最短距离最小的蓝点来扩充红点集,以保证算法按路径长度递增的次序产生各顶点的最短路径。当蓝点集中仅剩下最短距离为∞的蓝点,或者所有蓝点已扩充到红点集时,s到所有顶点的最短路径就求出来了。

  注意:①若从源点到蓝点的路径不存在,则可假设该蓝点的最短路径是一条长度为无穷大的虚拟路径。②从源点s到终点v的最短路径简称为v的最短路径;s到v的最短路径长度简称为v的最短距离,并记为SD(v)。

  堆排序

  大根堆的定义:完全二叉树,任一非叶子结点都大于等于它的孩子,也就是说根结点是最大的。而且显然大根堆的任一棵子树也是大根堆。

  堆排序的基本思想:记录区的分为无序区和有序区前后两部分;用无序区的数建大根堆,得到的根(最大的数)和无序区的最后一个数交换,也就是将该根归入有序区的最前端;如此重复下去,直至有序区扩展至整个记录区。

  具体操作可按下面步骤实现:

  1.建大根堆

  2.交换根和无序区最后一个数

  3.重建大根堆,因为交换只是使根改变了,所以左右子树依然分别是大根堆。

  4.比较根,左子树的根和右子树的根,如果根最大,则无须再作调整,树已经是大根堆了;如果左子树的根最大,交换它与根,再递归调整左子树;如果右子树的根最大,交换它与根,再递归调整右子数。

  5.递归调整到叶子的时候,树就是大根堆了。

  各类排序算法的特点及比较

  几种主要的排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序、Shell排序、堆排序等。

  冒泡排序算法思想:将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。

  选择排序算法思想:选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。

  插入排序算法思想:经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L[1..i-1]的适当位置,使得L[1..i]又是排好序的序列。

  快速排序算法思想:快速排序的基本思想是基于分治策略的。对于输入的子序列L[p..r],如果规模足够小则直接进行排序,否则分三步处理:1.分解(Divide):将输入的序列L[p..r]划分成两个非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。2.递归求解(Conquer):通过递归调用快速排序算法分别对L[p..q]和L[q+1..r]进行排序。3.合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在L[p..q]和L[q+1..r]都排好序后不需要执行任何计算L[p..r]就已排好序。

  归并排序算法思想:分而治之(divide - conquer)。每个递归过程涉及三个步骤:1.分解,把待排序的n个元素的序列分解成两个子序列,每个子序列包括n/2个元素。2.治理,对每个子序列分别调用归并排序MergeSort,进行递归操作。3.合并,合并两个排好序的子序列,生成排序结果。

  Shell排序算法思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。

  堆排序算法思想:用大根堆排序的基本思想:1.先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区。2.再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key。3.由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。

  2019考研计算机专业课核心考点总结(3)

  从二叉树结构的整体看,二叉树可以分为根结点,左子树和右子树三部分,只要遍历了这三部分,就算遍历了二叉树。设D表示根结点,L表示左子树,R表示右子树,则DLR的组合共有6种,即DLR,DRL,LDR,LRD,RDL,RLD。若限定先左后右,则只有DLR,LDR,LRD三种,分别称为先(前)序法(先根次序法),中序法(中根次序法,对称法),后序法(后根次序法)。三种遍历的递归算法如下:

  1.先序法(DLR)

  若二叉树为空,则空操作,否则:访问根结点?先序遍历左子树?先序遍历右子树。

  2.中序法(LDR)

  若二叉树为空,则空操作,否则:中序遍历左子树?访问根结点?中序遍历右子树.

  3.后序法(LRD)

  若二叉树为空,则空操作,否则:后序遍历左子树?后序遍历右子树?访问根结点.

  核心考点四:完全二叉树中有关结点个数计算

  完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树。

  完全二叉树的叶子数为(n + 1) / 2取下整。

  森林与二叉树之间的转换以及转换过程中结点之间的关系

  将一棵树转换为二叉树的方法是:

  1.树中所有相邻兄弟之间加一条连线。

  2.对树中的每个结点,只保留其与第一个孩子结点之间的连线,删去其与其它孩子结点之间的连线。

  3.以树的根结点为轴心,将整棵树顺时针旋转一定的角度,使之结构层次分明。

  森林转换为二叉树的方法如下:

  1.将森林中的每棵树转换成相应的二叉树。

  2.第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子,当所有二叉树连在一起后,所得到的二叉树就是由森林转换得到的二叉树。

  树和森林都可以转换为二叉树,二者的不同是:树转换成的二叉树,其根结点必然无右孩子,而森林转换后的二叉树,其根结点有右孩子。将一棵二叉树还原为树或森林,具体方法如下:

  1.若某结点是其双亲的左孩子,则把该结点的右孩子、右孩子的右孩子、……都与该结点 的双亲结点用线连起来。

  2.删掉原二叉树中所有双亲结点与右孩子结点的连线。3.整理由1、2两步所得到的树或森林,使之结构层次分明。

  核心考点六:对无向连通图特性的理解

  无向图的每条边,在顶点计算度的过程中,都要两次参与计算(与边两关联的2个顶点),因此所有顶点的度之和为偶数。

  具有n个顶点的无向连通图,其边数大于或等于n-1。

  在无向连通图中,所有顶点的度数都有可能大于1。

  对m阶B树定义的理解

  一棵m阶的B树满足下列条件:

  1.每个结点至多有m棵子树。

  2.除根结点外,其它每个分支至少有m/2棵子树。

  3.根结点至少有两棵子树(除非B树只有一个结点)。

  4.所有叶结点在同一层上。B树的叶结点可以看成一种外部结点,不包含任何信息。

  5.有j个孩子的非叶结点恰好有j-1个关键码,关键码按递增次序排列。结点中包含的信息为 ∶(p0,k1,p1,k2,p2, … ,kj-1,pj-1),其中,ki为关键码。

0人点赞 0人反对
属于以下话题

阅读更多相同话题的文章

  • 计算机专业跨考建筑学研究生经验分享
    本人211软件工程专业本科,2013年6月份毕业,于2014年考上一所211的建筑学(非老八校)专业研究生。考研复习用时7个月。一、确定目标院校:条件:1、招收跨学科考研的高校;2、不能比本科学校差,起码是211;3、本人男友在北京,所以目标锁定北京。最终按照以上条件,确定了自己要考的学校。二、考研复习我报考的学校的考试 ...
    赵雨辞 知乎网 2018-06-03 (44)
  • 计算机跨考建筑学研究生——找工作篇
    题主情况在前篇文章中有详细说(计算机跨考建筑学研究生经验分享),现在简单提一下。211本科的软件工程专业,211研究生建筑学专业,17年应届毕业,已工作,坐标北京。对建筑学的学生来说,找工作主要分为几个方向:1、设计院;2、房地产;3、建筑事务所;4、考公务员。另外题主打算留在北京,所以北京户口是找工作考虑的一 ...
    赵雨辞 知乎网 2018-06-03 (39)
  • 本科计算机,硕士建筑学,毕业如何选择?
    本人男,建筑学研二在读。 出于兴趣,高考时所有学校填报的第一专业志愿都是建筑学,无奈几分之差被调剂进某985学校软件工程。 因为一些原因,没有抓住转专业的机会;但一直不甘心,总还是想学建筑,所以跨专业考入了另一所985但非老八校的建筑学专业读研。 读研并且两次进入设计院实习之后发现,建筑设计这个学科以及这 ...
    本站小编 知乎网 2018-06-03 (40)
  • 华北计算机系统工程研究所2018年接收调剂信息
    (北京)华北计算机系统工程研究所2018年接收调剂信息(北京)4.18最后一轮复试:华北计算机系统工程研究所2018年接收调剂信息华北计算机系统工程研究所(又名中国电子信息产业集团有限公司第六研究所,简称电子六所)成立于1965年,直属世界五百强企业中国电子信息产业集团有限公司(CEC),建有工业控 ...
    本站小编 FreeKaoyan 2018-04-15 (21)
  • 华侨大学计算机科学与技术学院2018考研调剂信息
    计算机科学与技术学院一、拟调剂的专业一级学科(专业名称)专业代码全日制:软件工程(学硕)083500计算机技术(专硕)085211非全日制:计算机技术(专硕)085211二、调剂要求1、成绩要求:初试成绩总分、单科分均达到国家教育部规定的A类考生复试分数线要求,以国家公布的2018年研究生复试基本分 ...
    本站小编 FreeKaoyan 2018-04-11 (4)
  • 2018年上海理工大学光电信息与计算机工程学院考研调剂信息
    我校光电信息与计算机工程学院以下专业仍有部分调剂名额,欢迎广大考生通过中国研究生招生信息网调剂系统(http://yz.chsi.cn/yztj/)填报志愿。081002信号与信息处理01(全日制)测试信号获取与处理02(全日制)工业图像信息处理03(全日制)光信息处理技术与器件04(全日制)信息工 ...
    本站小编 FreeKaoyan 2018-04-09 (12)
  • 计算机考研有哪些值得推荐的院校?能否具体讲讲?
    此题是废题利用,希望各位答主能将此题尽量充分利用,给出一些中肯的意见。1、针对本专业学生2、针对跨考生3、针对不同出身的考生------------- 夏天在PKU卖水果的程序猿1,735 人赞同了该回答实在是看不下去了,这种问题竟然没人邀请我,只好不请自来了。作为一名本科在某普通985计算机专业的学渣,自己保研时 ...
    本站小编 知乎网 2018-04-06 (218)
  • 北京交通大学计算机与信息技术学院2018年非全日制专业调剂信息
    学院简介北京交通大学是教育部是首批进入国家211工程建设高校,是全国具有研究生院的56所高校之一,计算机与信息技术学院为北京交通大学下属二级学院,学院成立于2000年3月,其前身是成立于1977年的我校电子工程系(后更名为计算机系)和创立于1978年的我校信息科学研究所等 ...
    本站小编 FreeKaoyan 2018-04-04 (7)
  • 浙江科技学院软件工程类、计算机类2018考研调剂信息
    软件工程类、计算机类或信息类招生人数:2招生简介现有若干调剂名额,欢迎软件工程类、计算机类或信息类等考生加入浙江科技学院(杭州)继续学习与深造!请发《2018硕士研究生预调剂表格》和本科成绩单(可系统截图)到wujiezhou@163.com(发一份邮件多一次机会)导师介绍:http://www.e ...
    本站小编 FreeKaoyan 2018-04-04 (4)
  • 浙江科技学院人工智能、计算机视觉研究团2018考研调剂信息
    人工智能、计算机视觉研究团队专业:工学->信息与通信工程工学->计算机科学与技术工学->控制科学与工程工学->电子科学与技术工学->电气工程工学->光学工程工学->软件工程工学->工程[专]现有若干调剂名额,欢迎电子信息类、计算机类、软件类、电气自动化类等信息类等考生加入浙江科技学院(杭州)继续学习 ...
    本站小编 FreeKaoyan 2018-04-04 (9)
  • 杭州电子科技大学计算机学院2018考研调剂信息
    计算机学院各位考生:在符合国家和学校研究生招生录取相关规定条件下,计算机学院全日制计算机科学与技术专业(中日合作)可接受满足以下所有条件的考生调剂:1)初试成绩达到计算机学院学硕自划线要求;2)已参加2018年杭州电子科技大学自动化学院、电子信息学院、通信工程学院、网络空间安全学院、数字媒体与艺术设 ...
    本站小编 FreeKaoyan 2018-04-03 (16)
  • 浙江工业大学计算机学院2018考研调剂信息
    计算机学院非全日制第三批各位考生:现学院有非全日制专业学位招生指标若干,请你及时关注中国研招调剂系统,登陆系统填报志愿,欢迎到浙江工业大学计算机科学与技术学院就读研究生!学院各专业招生缺额指标如下:085211计算机技术(非全日制):15个085212软件工程(非全日制):1个第三批调剂系统开发时间 ...
    本站小编 FreeKaoyan 2018-04-03 (8)
  • 西安科技大学计算机学院2018年考研调剂信息
    西安科技大学计算机科学与技术学院在计算机技术、软件工程两个工程领域均接收非全日制研究生调剂,条件丰厚,欢迎考生联系调剂。联系方式:范老师:029-85583173学院主页:http://jsjxy.xust.edu.cn/调剂邮箱:jsjx@xust.edu.cn一、调剂要求1、参加国家统一组织的2 ...
    本站小编 FreeKaoyan 2018-04-01 (8)
  • 2018年杭州电子科技大学计算机学院计算机科学与技术专业(中日合作)校内调剂信息
    各位考生:在符合国家和学校研究生招生录取相关规定条件下,计算机学院全日制计算机科学与技术专业(中日合作)可接受满足以下所有条件的考生调剂:1)初试成绩达到计算机学院学硕自划线要求;2)已参加2018年杭州电子科技大学自动化学院、电子信息学院、通信工程学院、网络空间安全学院、数字媒体与艺术设计学院复试 ...
    本站小编 FreeKaoyan 2018-04-01 (16)
  • 贵州大学计算机学院研究生复试上机考试题目
    注意事项: 1、请勿使用书籍、U盘、光盘等任何资料。 2、考试时间:2小时。 3、文件一定要保存在E盘,其余盘重新启动后会还原。 程序设计,用 C 语言完成(75分) 1、从键盘上输入一个字符串,将该串分为数字、字母、其 他字符三个部分输出,例如: 输入:Thdad29#@12aH;77 输出:ThdadaH 291277 #@; 2、对 ...
    本站小编 免费考研网 2018-04-01 (36)