テクノベート基礎1:アルゴリズムを知る
アルゴリズムとは、コンピュータを利用して与えられた課題を解決するための処理手順のこと。例えば、洗濯機がボタン一つで洗う~脱水まで行うことができるのは、アルゴリズムにより制御されているため。
プログラムよりもアルゴリズムが重要。なぜならば
・アルゴリズム=思考プロセス
・プログラム言語=アルゴリズムを記す言葉
であるため。言葉が変わっても、思考は生かすことができる。
アルゴリズムには大きく分けて3つの種類がある。
・バブルソート=2つずつ比較して入れ替える
・選択ソート=一番小さいものを探し出して入れ替える
・クイックソート=基準を決めて、大か小で入れ替える
コンピュータは人間と違って、全体をざっと見ての並び替えができない。
バブルソートとクイックソートのおおよその計算量
・バブルソート=O※1(n2※2)
・クイックソート=O※1(n×log(n))
※1 オーダー ※2 2乗
データ量が大きくなればなるほど、アルゴリズムの違いにより処理スピードに差が出る。計算量は、主に操作回数に左右され、良いアルゴリズムとは、最も計算量が少ないものを指す。
ウェブブラウザの遅延時間をユーザーの認識について調査したものがある。
・0~0.1秒→即時
・0.1~0.3秒→わずかな遅れ
・0.3~1秒→機械が動いていると感じる
・1秒以上→思考が途切れる(←ここからユーザーが離脱するリスクが発生)
・10秒以上→やりかけていたタスクを中止(←ユーザー離脱リスク大)
1秒以上ウェブブラウザが遅延するとユーザーが離脱するリスクが発生する。
大量のデータを扱う現代、アルゴリズムの良し悪しがビジネスに影響することを認識しなければならない。