考研论坛

 找回密码
 立即注册
查看: 280|回复: 0

2019计算机考研备考:计算机数据结构核心考点解析

[复制链接]

33万

主题

33万

帖子

100万

积分

论坛元老

Rank: 8Rank: 8

积分
1007237
发表于 2018-11-5 19:12:40 | 显示全部楼层 |阅读模式
下面是新东方在线整理的2019计算机考研备考:计算机数据结构核心考点解析,请参考:
      ▶队列和栈结构的概念理解
    栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶。表中无元素时为空栈。栈的修改是按后进先出的原则进行的。通常栈有顺序栈和链栈两种存储结构。
    队列是一种运算受限的线性表,插入在表的一端进行,而删除在表的另一端进行,允许删除的一端称为队头,允许插入的一端称为队尾,队列的操作原则是先进先出的。队列也有顺序存储和链式存储两种存储结构。
      ▶线性表中单链表相关算法设计与实现
    一些基础但又重要的单链表相关算法,如:
    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到所有顶点的最短路径就求出来了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2025-1-15 06:58 , Processed in 0.060588 second(s), 8 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表