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

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

1-前言

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

2-线性代数-题目

3-线性代数-参考答案


4-数据结构-题目

5-数据结构-参考答案

問1

(1) 隣接行列で実装したときの隣接判定の時間計算量

隣接行列では,2頂点 (u, v) が隣接しているかは行列要素を 1回参照すれば判定できる。

O(1)


(2) 隣接リストで実装したときの空間計算量

隣接リストでは

  • 頂点数:(|V| = n)
  • 辺数:(|E| = m)

各頂点リスト+全辺を保持する。

O(n + m)


(3) 図1のグラフで BFS(始点:1)の訪問順

図1の有向辺(読み取り):

  • 1 → 2, 4
  • 2 → 6
  • 4 → 3, 6
  • 3 → 1, 5
  • 5 → 4

※「隣接頂点が複数あるときは 頂点番号の昇順

BFS 手順
  • 開始:1
  • 1 → {2,4}
  • 2 → {6}
  • 4 → {3}
  • 6 → なし
  • 3 → {5}
  • 5 → なし

答(訪問順)

1 \\rightarrow 2 \\rightarrow 4 \\rightarrow 6 \\rightarrow 3 \\rightarrow 5


(4) BFS 実行時のキュー Q の空間計算量

最悪の場合,キューには 全頂点が入る。

O(n)


(5) BFS を DFS に変更する場合のキュー処理の変更点

DFS では FIFO キューを使わず,LIFO 構造を用いる。

キューを スタック(LIFO) に変更する

(ENQUEUE/DEQUEUE を PUSH/POP に変更)


問2(ソートアルゴリズム)

文章の流れに対応させて解答します。

空欄 解答
(1) 計数ソート
(2) 最小値
(3) (n^2)
(4) 比較
(5) (n \log n)
(6) (n \log n)
(7) ピボット
(8) (n \log n)
(9) (n^2)
(10) 安定

完成文(確認用・要点)

  • 数の範囲が分かる場合は 計数ソート により (O(n))
  • 選択ソート:最小値を選択,平均・最悪ともに (O(n^2))
  • マージソート:分割と比較による統合,平均・最悪ともに (O(n\log n))
  • クイックソート:ピボットで分割,平均 (O(n\log n)),最悪 (O(n^2))
  • マージソートは 安定ソート

6-总结

训练成长。!!

相关推荐
依然鸣16 分钟前
PTA团体程序设计天梯赛L1真题讲解L1-085-088
数据结构·c++·经验分享·算法·深度优先·pat考试
Brilliantwxx1 小时前
【算法从零到千】【51-54】逆序对(分治+递归算法)
数据结构·算法·排序算法
小星星闪亮登场1 小时前
2026河南萌新联赛第四场--南阳理工学院
数据结构·算法·贪心算法·动态规划·哈希算法·广度优先
土司大王1 小时前
LeetCode hot100——两数之和
数据结构·算法·leetcode
wabs6662 小时前
关于字符串【力扣344.反转字符串的思考】
数据结构·算法·leetcode
LuminousCPP2 小时前
数据结构基础篇(二):顺序表与链表全方位对比|从内存布局到 CPU 缓存理解底层差异
c语言·数据结构·经验分享·链表·缓存
有点。3 小时前
C++二叉树(一)
开发语言·数据结构·c++
Lazionr3 小时前
stack与queue:底层实现与容器适配器
开发语言·数据结构·c++
原野池予4 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
今日无bug4 小时前
列表转树:一道题搞懂 HashMap 在算法里的价值
前端·数据结构