雪太郎の学習する日々

英語・プログラミングの勉強中。勉強の備忘録や思ったことを不定期に放り込んでいきます。

応用情報技術者試験の学習メモ アルゴリズム<探索編>

 

徹底攻略 応用情報技術者教科書 平成27年度 (Tettei Kouryaku JOHO SHORI)

徹底攻略 応用情報技術者教科書 平成27年度 (Tettei Kouryaku JOHO SHORI)

 

 基本ゆえについ後回しになるアルゴリズム

覚えてもすぐに記憶の彼方に去って行ってしまうアルゴリズム

 

・・・はい、頑張って覚えます。

 

1.線形探索

2.2分探索

3.ハッシュ法探索

の順にまとめました。

 

1.線形探索

データを先頭から順番に探索してく単純なアルゴリズム

・時間がかかる

n個のデータで探索を行うと、

平均比較回数 〔(N+1)/2〕
最大比較回数 N
計算量 O(n)

 となる。

2.2分探索(バイナリサーチ

データをあらかじめ整列しておき、 最初に真ん中のデータと探索するデータを比較する。探索するデータとの大小関係で探索する配列を分割しながらデータを探し出すアルゴリズム

・効率よく見つかる

・あらかじめ整列されたデータに対して高速

平均比較回数 log2N
最大比較回数 〔log2N〕+1
計算量 O(log n)

 

3.ハッシュ法探索

ハッシュ表(ハッシュテーブル)といわれるデータ配列を用意し、その格納場所のキーであるハッシュ値ハッシュ関数で算出する方法。

例えば、ハッシュ関数 H(x) = x%5 を設定してデータ「17」を探索する。

H(17) = 17%5 = 2 となり、ハッシュ値が「2」の場所をみるとデータ「17」が見つかる。

ハッシュ値データ
0 40
1 21
2 17
3 3
4 14

演算ですぐに格納場所が見つかるのでデータ量に関わらず計算量はO(1)となる。

・高速

シノニムの問題がある

・シノニムの解決にチェイン法オープンアドレス法がある

平均比較回数 1
最大比較回数 N
計算量 O(1)

 

 

  次は整列アルゴリズムを覚えます。

記事を追加しました!

yk-studyworks.hatenablog.com

 以上、参考にどうぞ。

================================================

応援クリックお願いします☆ <m(__)m>

にほんブログ村 資格ブログへにほんブログ村

にほんブログ村 資格ブログ IT系資格へにほんブログ村

スポンサーリンク