データ構造とアルゴリズムは、バイナリ検索を見つけます

シーケンシャル検索

  • データがセットに保存されている場合は、そのようなリストとして、私たちは、これらのデータは線形の関係や順序を持っていると言います。各データ要素は、他の場所に比べて素子データに格納されています。インデックス値が順序付けられているので、私たちは順番にそれらにアクセスすることができます。生産プロセスは、検索シーケンシャル検索の実現です。
 
  • シーケンシャルサーチ原理解析:
    • あなたは私たちが探している要素を見つけるか、または完全なリストをトラバースするまで、リストの最初の要素から始めて、我々は単に、一つの要素から別の基本的な順序の順序に従って動きます。我々は完全なリストをトラバースした場合、要素は存在しませんを探しています。
 
  • コードの実装:この関数は、リストを取り、我々は、パラメータとして要素を探していると、存在する場合、ブール値を返します。ブール変数がFalseに初期化された私たちは、リスト内の要素を見つけた場合、それをTrueに割り当てられています。
 
 
 
  • リストを命じた:我々は要素間の相対的な順序はありませんので、要素は、ランダムに配置されているリストの前に。要素はいくつかの方法で注文する場合は、連続的な検索何が起こりますか?我々はそれ検索技術で優れた効率作ることができますか?
 バイナリ検索:
  • 私たちは、検索の順序付きリストを達成するために非常に便利です。最初の要素は、私たちが探しているものでない場合に見つけるために、我々は最初の要素と比較したときに、その後、最大n-1の要素であると比較する必要があります。バイナリサーチは、中央要素から始めるのではなく、順番にリストを見つけることです。要素は、我々が探している要素であるならば、我々は外観を完了しました。そうでない場合、我々は、プロパティの順序付きリストを使用して半分の残りの要素を排除することができます。私たちが探している要素は、真中の要素よりも大きい場合は、中間要素を排除することができますし、中央の要素は半分要素よりも小さくなっています。確かに、リスト内の要素、その半分の大部分の場合。その後、我々は、大きなプロセスの半分を繰り返し、我々はコンテンツの探しているものと比較すること、中央の要素からスタートし続けることができます。
 
 
検索DEF(連想リスト、アイテム)
    を探す = Falseの = 0 
    ハイ = LEN(連想リスト) - 1。

    一方、低<= 高次
        インデックス#中間位置
        MID =(ハイ+低)// 2 
        IF連想リスト[MID]> アイテム:
            ハイ =中期1。
        ELIFの連想リスト[MID] < アイテム: = MID +は。1 
        #この場所を見つけ
        、他
            見つけ = BREAKの
    リターンが見つけ

連想リスト = [を1。2578 ] 
印刷(検索(連想リスト、8))

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/XLHIT/p/11366368.html