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

训练成长。!!

相关推荐
琢磨先生David3 天前
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·数据结构·学习方法·排序