|
単語は,スペルと和訳が組になっている.このような場合,構造体を使うのが常套手段で ある.複数の単語を表す単純なデータ構造として,教科書 [1] では以下の2つの方法が示されている.
リストを探索する場合,必ず先頭から順番に調べる.そのため,予めソートしても探索ス ピードは変わらない.したがって,ソートする必要がなく,データの追加はリストの末尾 に接続することになる.このような場合,探索には ,削除には ,追加には の計算量が必要となる.実際,ソートすると実行スピードは変わるが,オーダーは 変わらないことに注意しよう.
配列の場合,バイナリーサーチが使えるので,予めソートしておくと探索スピードを向上 させることができる.しかし,データの追加と削除を行う場合,配列の入れ替えが必要と なり,そこでの計算量が増加する.この場合,探索には ,削除には , 追加には の計算量が必要となる.ソートしない配列の場合,計算量のオーダーはリ ストと変わらない.
まとめると,表2のようになる.いずれにしても,データ数
が
大きくなると,かなりの計算量が必要となる.
リストや配列を使うと のオーダーの計算量が必要になってくる.もう少し,スピード アップしたい場合,マップというものが使われる.通常は,