抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

数据结构期末考点

本文章notion版本链接(格式更好看一些):https://www.notion.so/gryffinbitworkspace/5dbf3d58c5404a99bcaaba96cc42f58a

本文章PDF版本链接:https://gryffinbit.lanzous.com/i4duqknlove

数据结构期末考试考点,相关的附件:https://gryffinbit.lanzous.com/iTWTpknltyh

线性表

线性表及链表的添加、插入、删除(重点是指针的位置变化问题)

  • $Loc_{ai}=Loc_{a1}+(i-1)*l$

队列与栈

队列与栈的概念及基本操作(考选择题)

  • 基本概念

    栈后进先出

    2比1后进,应该先出

数组和串

数组和串的基本概念(有两个左右的选择题)

广义表长度:表中所含元素的个数。深度:括号的层数

掌握树、二叉树、满二叉树、完全二叉树的相关概念,树转化为森林的方法。(这一张是考试重点,会有多种类型的考题)

  • 重点掌握

    二叉树的5个性质:

    1. $叶子节点数: n_0 = n_2 + 1$

    2. $第k层上,至多有2^{k-1}个结点$

    3. $高度为h的二叉树,至多有2^h-1个结点$

    4. 结点i所在层次

    5. n个结点的完全二叉树高度

    树的几种遍历方法:

    按某条搜索路径访问树中的每个结点,树的每个结点均被访问一次,而且只访问一次

    先序遍历:根,左子树,右子树 NLR

    ![44](/Users/gryffinbit/Desktop/数九结果/数据结构 da568407752248e985256042f6aeeec2/44.png)

    中序遍历:左子树,根,右子树 LNR

    后序遍历:左子树、右子树、根 LRN

    层次遍历:从上至下,从左至右

    哈夫曼树的构造及编码规则

    平衡二叉树的构建

  • 相关概念

    二叉树

    满二叉树

    完全二叉树

    左边是完全二叉树,右边是满二叉树。

    只有最后一层,没有满。

    树转化为森林的方法

  • $n=n_0 +n_1+n_2$

    $n_0=n_2+1$

    最后一个分支结点序号 = 结点/2 向下取正

    叶子结点个数 = 总结点数 - 最后一个分支结点序号

    $n_1$只有两种可能 0 或1

    $结点固定,h范围: log_2最大结点数(向下取正) + 1 ~ 最大结点数$

    $深度为h的满m叉树,结点个数 m^h-1, 第k层的结点数为m^{k-1}$

    分支数为B,结点数为n

    $n=B+1$

    $B=度数*数量$

    $哈夫曼树只有n_0和n_2结点$

    $完全二叉树 n = n_0+n_1+n_2 且 n_1= 0\ or \ 1$

有向图,无向图,连通图的基本概率,图的邻接矩阵表示方法,图的遍历方法(深度遍历和广度遍历),最短路劲算法和关键路劲的算法;


最小生成树算法:Prim算法及Kruskal算法的概念;

最短路径算法:Dijkstra(迪杰斯特拉)算法(要求理解该算法的程序代码)

关键路径算法的求解

  • 图的基本概念

    • 一个图中,所有顶点度数之和 = 边数 * 2
    • 有向图中,所有顶点出度之和 = 入度之和
    • n个顶点的有向图,最多n(n-1) 条边
    • n个顶点的连通图,用邻接矩阵表示,最少要有2(n-1)个非零元素

  • 行为出度,列为入度。各顶点度是行列非零元素之和。

    关键路径:从源点到汇点带权路径最长的

线性表

重点掌握:
线性表的顺序查找、折半查找和分块查找的概念

  • 二叉排序树的查找、创建、插入、删除方法;

  • 平衡二叉树的调整的4种方法;

  • 堆排序(掌握如何建堆的过程);

  • 堆排列

    小根堆,子树比根大

    大根堆,子树比根小

  • 顺序查找

    对无序线性表进行顺序查找,查找失败时要遍历整个线性表

    有序查找进行顺序查找,失败时不一定要遍历整个线性表

    失败结点有n+1个

  • 折半查找

    仅适用于有序顺序表

    计算平均查找长度:

    ASL成功:第一层有一个结点,第二层两个结点,第三层三个

    ASL失败:没有给出具体失败例子,以失败结点为单位,有12个失败结点。4层有4个失败结点,(4-1)*4

    5层有8个失败结点,(5-1)*8

  • 分块查找

    命名:最大标号。

    查找的时候,和标号比较

    块内元素无序,块间有序

    注意是,均匀分配b块

  • 平衡二叉树的调整(4种方法)

    • LL平衡旋转(右单旋转)

      H代表层数

    • RR平衡旋转

    • LR平衡旋转

    • RL平衡旋转

      ![120](/Users/gryffinbit/Desktop/数九结果/数据结构 da568407752248e985256042f6aeeec2/120.png)

  • 概念题

  • 中间的为根,然后分为左右两部分,再取中间的为根,以此类推,且确定了根后,处在前面的是后面的根,比如3,4的位置。或者前面是左子树。这种顺序

    关键字结点排序,比较大小,小的左子树,大的右子树

排序

  • 基本概念

  • 快速排序,左标记的值大于基准点时,且右标记移动到比基准值小时,左右两边交换。

    左右两个标记重合时,那个值与基准点进行交换。这样就分为了,标记值左边是小于基准值的,右边是大于基准值的

    小根堆

    按层次排序把这个序列排成二叉树

    大根堆

    先无序排成二叉树,然后从底层开始交换顺序。根比孩子都大

算法

掌握起泡排序(要求理解该算法程序代码),直接插入排序(懂得原理)、希尔排序(懂得原理)、快速排序(懂得原理);

评论