Cheat Sheet

アルゴリズム計算量(けいさんりょう) 早見表(はやみひょう)

Big-O Complexity Chart

Big O

Big O Cheat Sheet

Common Data Structure Operations

Data Structure Operations

Sorting Algorithms

Array Sorting Algorithms

  • In-place sorting : O(1)追加(ついか) 空間(くうかん) のみで配列(はいれつ) をソートする
  • Stable sorting : (おな)(あたい)要素(ようそ) がソート()相対的(そうたいてき)順序(じゅんじょ)保持(ほじ) する
AlgorithmStable?In-place?
Bubble SortYesYes
Insertion SortYesYes
Selection SortNoYes
Merge SortYesNo
Quick SortNoYes
Heap SortNoYes
Counting SortYesNo
Radix SortYesNo
Bucket SortYesNo
Shell SortNoYes
Tim SortYesNo
Tree SortYesNo

Searching Algorithms

算法名称(アルゴリズム)時間計算量(じかんけいさんりょう)空間計算量(くうかんけいさんりょう)
線形探索(せんけいたんさく) (Linear Search)O(n)O(1)
二分探索(にぶんたんさく) (Binary Search)O(log n)O(1)
ジャンプ探索(たんさく) (Jump Search)O(√n)O(1)
補間探索(ほかんたんさく) (Interpolation Search)平均(へいきん) : O(log log n), 最悪(さいあく) : O(n)O(1)
指数探索(しすうたんさく) (Exponential Search)O(log n)O(1)
(ふか)優先探索(ゆうせんたんさく) (DFS)O(V + E)O(V)
幅優先探索(はばゆうせんたんさく) (BFS)O(V + E)O(V)
Dijkstra 算法(アルゴリズム)O((V + E) log V)O(V)
A* 探索(たんさく) (A* Search)O(b^d)O(b^d)