保研复习——数据结构重点

Posted 牧空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保研复习——数据结构重点相关的知识,希望对你有一定的参考价值。

线性结构

1、数组(顺序表)和链表的区别

  • 存取方式
    • 顺序表可以顺序存取也可以随机存取
    • 链表只能从表头顺序存取元素
  • 逻辑结构和物理结构
    • 顺序,逻辑上相邻的元素,对应的物理存储位置也相邻
    • 链式,仅逻辑上相邻的元素,物理存储位置则不一定相邻
  • 查找、插入和删除操作
    • 顺序表
      • 按值查询:无序为 O ( n ) O(n) O(n),有序用二分为 O ( l o g 2 n ) O(log_2n) O(log2n)
      • 按序号查询: O ( 1 ) O(1) O(1)
      • 插入和删除,平均移动半个表长的元素
    • 链表
      • 查询平均时间复杂度 O ( n ) O(n) O(n)
      • 插入和删除修改相关结点的指针域
      • 存储密度不够大
  • 空间分配
    • 顺序存储
      • 静态存储分配:存储空间固定,满后无法扩充,如何分配合适大小的空间是一个问题
      • 动态存储分配:存储空间可以扩展,但是需要移动大量元素,导致操作效率低。且如果内存中没有大块的连续存储空间,会导致分配失败
    • 链式存储
      • 结点空间在需要时申请即可

基本术语

  1. 结点的度:结点的孩子个数;树的度:最大的结点的度
  2. 叶子结点:度为0的结点
  3. 结点深度:以根结点为1开始计数,逐层累加
  4. 结点高度:以其叶结点开始,自底向上逐层累加
  5. 数的深度(高度):最大层数
  6. 路径和路径长度:两个结点之间所有经过的结点序列,长度为路径上经过的边得个数

树的性质

  1. 树中的结点数等于所有结点的度数加1。
  2. 度为 m m m的树中第i层上至多有 m i − 1 m^{i-1} mi1个结点 ( i ≥ 1 ) (i≥1) i1).
  3. 高度为 h h h m m m叉树至多有 ( m h − 1 ) / ( m − 1 ) (m^h- 1)/(m-1) (mh1)/(m1)个结点3。
  4. 具有 n n n个结点的 m m m叉树的最小高度为 ⌈ l o g m ( n ( m − 1 ) + 1 ) ⌉ \\lceil log_m(n(m- 1)+ 1) \\rceil logm(n(m1)+1),即满m叉树的情况

二叉树

特殊二叉树

  1. 满二叉树:高度为 h h h,含有 2 k − 1 2^k-1 2k1结点
  2. 完全二叉树:(对应相同高度的满二叉树缺失最下层最右边的一些连续的叶子结点)
    在这里插入图片描述
  3. 二叉排序树:左子树上所有结点的关键字均小于根结点的关键字;右子树上的所有结点的关键字均大于根结点的关键字;左右子树又是又各是一棵二叉树
  4. 平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1

森林

排序

搜索

动态规划

以上是关于保研复习——数据结构重点的主要内容,如果未能解决你的问题,请参考以下文章

保研复习——操作系统重点

机器学习保研复习

保研笔记八——YOLOV5项目复习

保研数学复习

保研数学复习

经管大数据|武汉大学经济与管理学院推免数据分析