【大学院-筆記試験練習:线性代数和数据结构(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} のソート過程

该算法每一步:

从 A[i]~A[n−1] 中找最小值,与 A[i] 交换

i = 0

  • 最小值 = 1
    → 交换 A[0] 与 A[3]

    {1, 4, 2, 3}

i = 1

  • 最小值 = 2
    → 交换 A[1] 与 A[2]

    {1, 2, 4, 3}

i = 2

  • 最小值 = 3
    → 交换 A[2] 与 A[3]

    {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-总结

训练成长。!!

相关推荐
琢磨先生David2 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_454245033 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝3 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA3 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc3 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg13 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA3 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX3 天前
020-C++之unordered容器
数据结构·c++
岛雨QA3 天前
多路查找树「Java数据结构与算法学习笔记11」
数据结构·算法
AKA__Zas3 天前
初识基本排序
java·数据结构·学习方法·排序