C/C++の宿題を片付けます 65代目
■ このスレッドは過去ログ倉庫に格納されています
0802デフォルトの名無しさん
2006/05/31(水) 06:19:19[2] 問題文(含コード&リンク):
2分探索(binary search)は、要素があらかじめキーの昇順あるい
は降順にソートされている配列から効率よく探索するアルゴリズムであ
る。
要素数がnである配列aの要素が昇順に並んでいて、
keyを探索するとして、探索範囲の先頭の添字をpl、末尾の添字を
pr、中央の添字をpcと表すことにする。探索開始時に、pl
は0、prはn-1、pcは(n-1)/2である。
keyとa[pc]を比較して等しければ探索成功であるが、そうでなけ
れば、次のように探索範囲を縮小する。
・key > a[pc]のとき
探索範囲はa[pc+1] 〜 a[pr]になる。
・key < a[pc]のとき
探索範囲はa[pl] 〜 a[pc-1]になる。
なお、アルゴリズムの終了条件は、以下に示す条件のいずれかが成立す
ることである。
・a[pc]とkeyが一致した
・探索範囲がなくなった
このアルゴリズムを利用して、2分探索を行うプログラムを作成せよ。
[3] 環境 UNIX
[4] 期限 今週中
すみませんが、お願いします
■ このスレッドは過去ログ倉庫に格納されています