经典例题 | 数据结构与算法

395 阅读2分钟

绪论

  1. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的 (逻辑结构)
  2. 算法的时间复杂度取决于(问题的规模)和 (待处理数据的初态)
  3. 数据的逻辑结构独立于其存储结构
  4. 抽象数据类型的三个组成部分分别是(数据对象)、(数据关系)、(基本操作)

image.png

image.png

image.png

线性表

image.png

image.png

image.png

image.png

栈和队列

image.png

image.png

数组

image.png

image.png

5b8db75e5855c59738439697b72bbc0.jpg

image.png

image.png

image.png

image.png

  1. 树向二叉树转化能得到唯一的二叉树
  2. 树的三种存储结构
    • 孩子表示法
    • 双亲表示法
    • 孩子兄弟表示法

二叉树

二叉链表

  • 在n个结点的二叉链表中,有(n+1)个空指针域
    • 分析:必有2n个链域。除根结点外,每个结点有且仅有一个双亲,所以只会有n-1个结点的链域存放指针,指向非空子女结点。

完全二叉树

  • 一棵完全二叉树有5000个结点,可以计算出其叶结点的个数是(2500)。

image.png

image.png

image.png

image.png

图的遍历

  1. 深度优先遍历是利用栈实现的,广度优先遍历是借助队列实现的。
  2. 深度优先遍历是按照树的先序遍历进行的,广度优先遍历时按照树的层次遍历进行的

查找

如果线性表既要快速查找又经常动态变化,则可采取分块查找。

顺序查找

image.png

折半查找

数据结构(C语言)第二版 第七章课后答案_分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是-CSDN博客

image.png

image.png

image.png

Hash查找

image.png

image.png

image.png

image.png

二叉排序树

image.png

排序

  • 从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为(选择排序)

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png