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

训练成长。!!

相关推荐
mjhcsp2 小时前
P14977 [USACO26JAN1] Lineup Queries S(题解)
数据结构·c++·算法
西瓜泡泡奶2 小时前
代码随想录算法Day13|(二叉树part3)110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数
数据结构·算法·二叉树·平衡二叉树·完全二叉树·二叉树路径·左叶子之和
Remember_9932 小时前
【LeetCode精选算法】前缀和专题一
java·开发语言·数据结构·算法·leetcode·eclipse
如此这般英俊2 小时前
第八章-排序
数据结构·算法·排序算法
靠沿2 小时前
Java数据结构初阶——七大排序算法及“非比较”排序
java·数据结构·排序算法
充值修改昵称4 小时前
数据结构基础:B树磁盘IO优化的数据结构艺术
数据结构·b树·python·算法
星火开发设计11 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
月挽清风12 小时前
代码随想录第七天:
数据结构·c++·算法