時間計算量ってそもそも何?
時間計算量とはアルゴリズム(処理)が、入力サイズに応じてどれくらいの時間がかかるのかを表す目安のことを言います。
O記法
アルゴリズムの計算量(処理時間やメモリ使用量)を、入力データ量に対してどのように変化するかを表すための記法をO記法という。
計算量 | 説明 | 例 |
---|---|---|
O(1) | 一定時間 | 配列の要素を1つ取り出す arr[3]
|
O(n) | 線形(1つずつ見る) | for文で全要素をループ |
O(n²) | 二重ループ | バブルソート |
O(log n) | データを半分に分けながら探索 | 二分探索 |
O(n log n) | 高速ソート | マージソート、クイックソート(平均) |
学んだこと
コードを書き始めたときは正確に出力できればいいと思っていたが、コードを最適化するためにも学んで損はないことに気づいた。
最後に
今も深くは理解できていないが、どういうものかはなんとなく理解できた。
最適なコードを書くためにもこれから深く、時間計算量については学んでいきたいです!