zatsu na benkyou matome saito

勉強したことをまとめるだけのサイト、数学、プログラミング、機械学習とか

データ構造とアルゴリズム:本編

アルゴリズムの重要性

GAFAシリコンバレーの企業面接には絶対にアルゴリズムのコーディング試験があり、1秒でも処理が早くなるのであればアルゴリズムを早い方に書き換えたほうが良い。車の自動運転など瞬間の判断に関わるものは特に反応速度が重要視されているので、アルゴリズムについて精通していたほうが良い。

データ構造

スクリーンショット 2020-11-24 21.23.29.png (260.3 kB)

データ構造とアルゴリズムとは?

  • データをどのように格納するのか
  • どのような格納順で実装すると処理が早くなるのかなどの構造のこと

Big O Notation (Big O 記法)

learn-programing.hatenablog.jp

安定ソート

スクリーンショット 2020-11-24 22.22.03.png (606.3 kB)

安定ソートとは

ソート判定において、同一であると判断された入力データの順序がソート後も変わらない スクリーンショット 2020-11-24 22.23.46.png (1.1 MB)

元の配列のソート順は変わらない

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(選択ソート)

重要度:高い

learn-programing.hatenablog.jp