python二分検索アルゴリズムの再帰的実現方法


本論文の例は、pythonの二分割検索アルゴリズムの再帰的実施方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
ここで最初に一段二分検索のコードを提供します。

def binarySearch(alist, item):
  first = 0
  last =
len(alist)-1
  found = False
  while first<=last
and not found:
midpoint = (first + last)//2
if alist[midpoint] == item:
   found = True
else:
   if item < alist[midpoint]:
  last = midpoint-1
   else:
  first = midpoint+1
  return found
testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,]
print(binarySearch(testlist, 3))
print(binarySearch(testlist, 13))

最近は再帰的で分かりやすいので、再帰的な方法に変えます。

def binSearch(lst, item):
  mid = len(lst) //2
  found = False
  if lst[mid] ==
item:
 found = True
 return found
  if mid == 0:
#mid  0           。
 found = False
 return found
  else:
 if item > lst[mid]: #     
   #print(lst[mid:])
   return
binSearch(lst[mid:], item)
 else:
   return
binSearch(lst[:mid], item) #     

テストに合格しました。
Pythonに関する詳細については、当駅のテーマを見ることができます。「Python正則表現の使い方のまとめ」、「Pythonデータ構造とアルゴリズム教程」、「Python Socketプログラミング技術のまとめ」、「Python関数使用テクニックのまとめ」、「Python文字列操作テクニックのまとめ」、「Python入門と階段の経典教程」および「Pythonファイルとディレクトリ操作の概要
ここで述べたように、皆様のPythonプログラムの設計に役に立ちます。