学習アルゴリズム:二分法

説明:

指定された要素が配列に含まれている場合Binary_search関数は、順序付けられた配列要素を受け入れて、この関数は、その位置に復帰します。変性低に対応し、少数を推測する場合は、配列全体の始まり、各検査要素の中央を見つけ、大きな数、および対応する修正高を推測している場合。

コード:

1  DEF (リスト1、項目)binary_search:
 2      低= 0
 3。      ハイ= LEN(リスト1)-1
 4。 
5。     一方、低<=高:        長い範囲が唯一の要素を含むように低減されていない
6。          MID =(ハイ+低)// 2   中間要素をチェック
7。          GUESS = のList1 [mIDを】
 8。         IF推測が== アイテム:
 9              リターン mIDを        #は、インデックス返し
10          IF GUESS> アイテム:
 11              Highに= -1 mIDを
 12である         IF GUESS < アイテム:
 13であります             ロー=ミッド+ 1
 14              
15      リターンなし
 16  
17 my_listという= [1,3,5,7,9 ]
 18  
19  プリント(binary_search(my_listという、7 ))
 20  プリント(binary_search(my_listという、3 ))
 21  プリント(binary_search( my_listという、-1))

結果:

3
1
なし

 

おすすめ

転載: www.cnblogs.com/hqq2019-10/p/11681417.html