私は自分の試験と学習アルゴリズムを現時点で習得しています。私は線形、バイナリ、補間検索を理解し、指数関数的な検索を理解しようとしています。しかし、インターネット上の悪い情報源があり、説明がある場合は私にとって非常に複雑です..私はあなたがアルゴリズムを明確にできることを願っていますか?指数関数検索のしくみの悩み
編集(私のミスを修正するtryd):
それでは、私たちは、配列を持っていると我々は、アレイに19
を検索しましょう:
Index i 0 1 2 3 4 5 6
2 7 13 19 55 92 99
我々は(の最初の範囲を見つけようその点、我々は、アレイを分割)
2^0 : i=1: A[1] > 19
2^1 : i=2: A[2] > 19
2^2 : i=4: A[4] < 19
今、我々はにインデックスi=0
から検索する必要があります知っています。
今、私たちが持っている現在のサブアレーが
Index i 0 1 2 3
2 7 13 19
私たちは途中で分けるので、私たちは、アレイ
13 19
を持つバイナリ検索で要素を見つける19
用のバイナリ検索を使用します途中でもう一度分けてください。 19
は13
より大きく、19
は今配列の要素にすぎません。完了しました19
現在は正しいですか?
最初のステップ(範囲を見つける)を正しく行いましたか?範囲が見つかると、私はあなたが言うようにバイナリ検索を使用します(これは、私はサブアレイを途中で分割することを意味します)。 – roblind
いいえ、あなたは同じステップ(増加i) - 2,2,2、しかし指数関数的な検索には1,2,4,8が必要です... – MBo
Tyvm私はそれを修正しようとしましたか? – roblind