【大学院-筆記試験練習:线性代数和数据结构(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-总结

训练成长。!!

相关推荐
Boom_Shu1 小时前
长方形的关系
数据结构·c++·算法
装不满的克莱因瓶2 小时前
图像尺寸调整:缩放矩阵如何改变像素坐标?
人工智能·线性代数·数学·算法·机器学习·矩阵
Lsk_Smion2 小时前
力扣实训 _ [543].二叉树的直径 _ [23].合并K个升序列表
数据结构·算法·leetcode
装不满的克莱因瓶4 小时前
矩阵的主成分是什么?主成分分析(PCA)又能做什么?
人工智能·线性代数·算法·机器学习·ai·矩阵·pca
ID_180079054735 小时前
淘宝商品详情数据接口深度解析:架构、鉴权、数据结构与实战
数据结构·架构
散峰而望5 小时前
【算法练习】算法练习精选:陶陶摘苹果(基础+升级)、Music Notes、字串变换,你能AC几道?
数据结构·c++·算法·leetcode·贪心算法·github·动态规划
凤凰院凶涛QAQ6 小时前
《Java版数据结构 & 集合类剖析》集合框架的封装设计与顺序表:“从 Iterable 到 ArrayList:集合框架的‘职业树“
java·开发语言·数据结构
8Qi86 小时前
LeetCode 148. 排序链表 —— 解法一:自顶向下递归(分治 + 归并)
数据结构·算法·leetcode·链表·递归·分治·归并
8Qi86 小时前
LeetCode 148. 排序链表 —— 解法二:自底向上归并(迭代,O(1) 空间)
数据结构·算法·leetcode·链表·归并·迭代
嘿黑嘿呦6 小时前
数据结构-图论-最小生成树
数据结构·算法·图论