データ構造とアルゴリズム:本編
アルゴリズムの重要性
GAFAやシリコンバレーの企業面接には絶対にアルゴリズムのコーディング試験があり、1秒でも処理が早くなるのであればアルゴリズムを早い方に書き換えたほうが良い。車の自動運転など瞬間の判断に関わるものは特に反応速度が重要視されているので、アルゴリズムについて精通していたほうが良い。
データ構造
- データをどのように格納するのか
- どのような格納順で実装すると処理が早くなるのかなどの構造のこと
Big O Notation (Big O 記法)
learn-programing.hatenablog.jp
安定ソート
安定ソートとは
ソート判定において、同一であると判断された入力データの順序がソート後も変わらない
元の配列のソート順は変わらない
ex) (2, Bill) , (2, June) という要素はstable sortでは元の順番が変わっていないが、unstable sortではそれぞれの順番が変わっている。
ソート
bogoソート
重要度:低い learn-programing.hatenablog.jp
bubbleソート
重要度:高い learn-programing.hatenablog.jp
cocktail(シェーカーソート)
重要度:低い learn-programing.hatenablog.jp
comb(シェーカーソート)
重要度:低い learn-programing.hatenablog.jp
selection(選択ソート)
重要度:高い