【钜惠】25考研
红包
【专业课】热门类HOT
25考研
【MBA】在职考研
【择校】择专业
计划
【大纲】电子资料
计划
【25考研】领跑学
寒假
【在职】择校分析
25考研
【测评】英语|政治
免费
【0元】公开课
免费学
【备考】研友群
精
扫码加入训练营
牢记核心词
学习得礼盒
计算机专业如今竞争日趋激烈,要知道计算机专业难度系数不仅高而且考题形式多样,涵盖的内容宽泛,对于报考计算机专业同学来说复习是难点。本文整理“2022计算机考研之数据结构核心考点大汇总”相关内容,一起来备战吧。
数据结构核心考点汇总
▶队列和栈结构的概念理解
栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶。表中无元素时为空栈。栈的修改是按后进先出的原则进行的。通常栈有顺序栈和链栈两种存储结构。
队列是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端进行,允许删除的一端称为队头,允许插入的一端称为队尾,队列的操作原则是先进先出的。队列也有顺序存储和链式存储两种存储结构。
▶线性表中单链表相关算法设计与实现
一些基础但又重要的单链表相关算法,如:
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指向前驱节点,然后向后遍历直到链表末尾。
▶二叉树的遍历
遍历的过程就是把非线性结构的二叉树中的结点排成一个线性序列的过程。
二叉树遍历方法可分为两大类,一类是“宽度优先”法,即从根结点开始,由上到下,从左往右一层一层的遍历;另一类是“深度优先法”,即一棵子树一棵子树的遍历。
从二叉树结构的整体看,二叉树可以分为根结点,左子树和右子树三部分,只要遍历了这三部分,就算遍历了二叉树。设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为关键码,且满足ki
▶带权图的最短路径算法及应用
迪杰斯特拉(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]调整为堆。
以上是小编为大家整理分享的“2022计算机考研之数据结构核心考点大汇总”相关内容,希望对大家有帮助。祝大家考上理想的院校!
本文关键字: 2022考研计算机复习指导
资料下载
新东方考研资料下载地址
发布时间:2023-05-17新东方在线考研资料合集
下载方式:微信扫码,获取网盘链接
目录:
1.2013-2023年近10年政数英真题及解析PDF版(新东方)
2.2013-2023年专业课考试历年真题及解析PDF版
3.24考研复习备考资料大合集:大纲+备考资料+词汇书+考前押题+自命题
资料介绍:
1.2013-2023年近10年政数英真题及解析PDF版(新东方)
、
2.2013-2023年专业课考试历年真题及解析PDF版
3.24考研复习备考资料大合集
3.24考研复习备考资料:考研大纲
3.24考研复习备考资料:政数英备考资料+自命题真题
2024考研公共课必背知识点汇总
发布时间:2023-01-03扫码添加【考研班主任】
即可领取资料包
2013-2023考研历年真题汇总
发布时间:2023-01-03扫码添加【考研班主任】
即可领取资料包
考研英语大纲词汇(PDF可打印)
发布时间:2023-01-03扫码添加【考研班主任】
即可领取资料包
2024考研专业课知识点总结
发布时间:2023-01-03扫码添加【考研班主任】
即可领取资料包
2023考研政治 内部押题 PDF
发布时间:2022-11-16扫码添加【考研班主任】
即可领取资料包
徐涛:23考研预测六套卷
发布时间:2022-11-16扫码添加【考研班主任】
即可领取资料包
考研政数英冲刺资料最新整理
发布时间:2022-11-16扫码添加【考研班主任】
即可领取资料包
23考研答题卡模板打印版
发布时间:2022-11-16扫码添加【考研班主任】
即可领取资料包
2023考研大纲词汇5500PDF电子版
发布时间:2022-07-28扫码添加【考研班主任】
即可领取资料包
考研历年真题(公共课+专业课)
发布时间:2022-07-28扫码添加【考研班主任】
即可领取资料包
考研英语阅读100篇附解析及答案
发布时间:2022-01-07扫码添加【考研班主任】
即可领取资料包
新东方考研学霸笔记整理(打印版)
发布时间:2022-01-07扫码添加【考研班主任】
即可领取资料包
2001-2021年考研英语真题答案(可打印版)
发布时间:2022-01-07扫码添加【考研班主任】
即可领取资料包
考研英语词汇5500(完整版下载)
发布时间:2022-01-07扫码添加【考研班主任】
即可领取资料包
2022考研政审表模板精选10套
发布时间:2022-01-07扫码添加【考研班主任】
即可领取资料包
历年考研真题及答案 下载
发布时间:2021-12-09扫码添加【考研班主任】
即可领取资料包
考研政审表模板汇总
发布时间:2020-06-17扫码添加【考研班主任】
即可领取资料包
近5年考研英语真题汇总
发布时间:2020-06-17扫码添加【考研班主任】
即可领取资料包
考研英语大纲词汇5500
发布时间:2020-06-17扫码添加【考研班主任】
即可领取资料包
2022考研12大学科专业排名汇总
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
2023考研政治复习备考资料【珍藏版】
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
考研英语万能模板+必备词汇+范文
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
考研数学一、二、三历年真题整理
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
2001-2021历年考研英语真题PDF版
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
近10年考研政治真题答案及解析
发布时间:2019-11-21扫码添加【考研班主任】
即可领取资料包
添加班主任领资料
添加考研班主任
免费领取考研历年真题等复习干货资料
推荐阅读
更多>>今天新东方在线考研频道小编为各位考生整理了2025考研计算机知识梳理:假脱机技术,相关内容。专业、实用的计算机考研复习备考内容,能
来源 : 网络 2024-02-02 07:17:00 关键字 : 考研计算机复习指导
今天新东方在线考研频道小编为各位考生整理了2025考研计算机知识梳理:设备分配与回收,相关内容。专业、实用的计算机考研复习备考内容
来源 : 网络 2024-02-02 07:17:00 关键字 : 考研计算机复习指导
今天新东方在线考研频道小编为各位考生整理了2025考研计算机知识要点之树的定义,相关内容。专业、实用的计算机考研复习备考内容,能使
来源 : 网络 2024-02-01 07:11:00 关键字 : 考研计算机复习指导
今天新东方在线考研频道小编为各位考生整理了2025考研计算机知识要点之链式存储结构,相关内容。专业、实用的计算机考研复习备考内容,
来源 : 网络 2024-02-01 07:11:00 关键字 : 考研计算机复习指导
今天新东方在线考研频道小编为各位考生整理了2025考研计算机知识要点之顺序存储结构,相关内容。专业、实用的计算机考研复习备考内容,
来源 : 网络 2024-01-31 07:11:00 关键字 : 考研计算机复习指导
资料下载
更多>>新东方在线考研资料合集
下载方式:微信扫码,获取网盘链接
目录:
1.2013-2023年近10年政数英真题及解析PDF版(新东方)
2.2013-2023年专业课考试历年真题及解析PDF版
3.24考研复习备考资料大合集:大纲+备考资料+词汇书+考前押题+自命题
资料介绍:
1.2013-2023年近10年政数英真题及解析PDF版(新东方)
、
2.2013-2023年专业课考试历年真题及解析PDF版
3.24考研复习备考资料大合集
3.24考研复习备考资料:考研大纲
3.24考研复习备考资料:政数英备考资料+自命题真题
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
扫码添加【考研班主任】
即可领取资料包
阅读排行榜
相关内容