【大学院-筆記試験練習:线性代数和数据结构(9)】

大学院-筆記試験練習:线性代数和数据结构(9)

1-前言

为了升到自己目标的大学院,所作的努力和学习,这里是线性代数和数据结构部分。

2-线性代数-题目

3-线性代数-参考答案



4-数据结构-题目

5-数据结构-参考答案

(1)数列 S = {3, 7, 1, 5} を順に insert した結果

插入过程

  1. 插入 3 → 作为根

  2. 插入 7 → 7 > 3 → 右子

  3. 插入 1 → 1 < 3 → 左子

  4. 插入 5

    • 5 > 3 → 右
    • 5 < 7 → 成为 7 的左子

得到的二分探索木

复制代码
      3
     / \
    1   7
       /
      5

(2)图2 的二分探索木に visit 関数を適用した出力順

visit 函数顺序

text 复制代码
print(node)
→ visit(left)
→ visit(right)

这是 先行順(Preorder Traversal)

图2 的结构(题目给定)

复制代码
        5
       / \
      3   6
     / \
    2   4
   /
  1

访问顺序

复制代码
5 → 3 → 2 → 1 → 4 → 6

输出结果

复制代码
5 3 2 1 4 6

(3)insert 関数の時間計算量

设数据个数为 n

  • 最悪時間計算量

    • 木退化成链表(已排序插入)
    • 高度 = n
      O(n)
  • 最良時間計算量

    • 木近似平衡
    • 高度 = log n
      O(log n)

(4)図2の木を「右に単回転」した結果

右回転发生在 节点 5(左子为 3)

回转前

复制代码
      5
     /
    3

回转后

复制代码
        3
       / \
      2   5
     /   / \
    1   4   6

回転後の二分探索木

复制代码
        3
       / \
      2   5
     /   / \
    1   4   6

問2:ソートアルゴリズム A

(1)配列 A = {3, 4, 2, 1} のソート過程

该算法每一步:

从 Ai~An−1 中找最小值,与 Ai 交换

i = 0

  • 最小值 = 1
    → 交换 A0 与 A3

    {1, 4, 2, 3}

i = 1

  • 最小值 = 2
    → 交换 A1 与 A2

    {1, 2, 4, 3}

i = 2

  • 最小值 = 3
    → 交换 A2 与 A3

    {1, 2, 3, 4}


(2)本アルゴリズムの名称

選択ソート(Selection Sort)


(3)時間計算量

  • 平均時間計算量
    O(n²)

  • 最悪時間計算量
    O(n²)

(无论初始顺序如何,都要做完整扫描)


(4)安定ソートか?

  • 选择排序会直接交换元素
  • 相同值的相对顺序可能改变

不是稳定排序

✅ 回答:

复制代码
いいえ

(5)本アルゴリズムより最悪時間計算量が小さいソート

任选一个即可:

  • マージソート(Merge Sort) → O(n log n)
  • ヒープソート(Heap Sort) → O(n log n)

✅ 示例回答:

复制代码
マージソート

✅ 总结(考试速背版)

项目 答案
BST visit 顺序 先行順
BST 插入最坏 O(n)
BST 插入最好 O(log n)
排序算法 選択ソート
稳定性 いいえ
更快算法 マージソート

6-总结

训练成长。!!

相关推荐
来一碗刘肉面1 小时前
顺序表的按值查找
数据结构·c++·算法
小肝一下2 小时前
2. 顺序表和链表
c语言·数据结构·c++·链表·dijkstra·依蕾娜·香香的依蕾娜
j7~2 小时前
【数据结构初阶】带头双向循环链表 (DSList) --增删查改完整实现详解
c语言·数据结构·链表·带头双向循环链表
石像鬼₧魂石3 小时前
贵州商会管理系统 —— 商协会数字化运营一站式平台
大数据·数据结构·物联网·eclipse·数据库架构
Java面试题总结3 小时前
区间树:反向映射的前置数据结构
java·前端·数据结构
想做小南娘,发现自己是女生喵13 小时前
【无标题】
数据结构·算法
凤凰院凶涛QAQ17 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
郝学胜-神的一滴18 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法
Irissgwe18 小时前
算法滑动窗口
数据结构·算法
LuminousCPP21 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记