python二分検索アルゴリズムの再帰的実現方法
本論文の例は、pythonの二分割検索アルゴリズムの再帰的実施方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
ここで最初に一段二分検索のコードを提供します。
Pythonに関する詳細については、当駅のテーマを見ることができます。「Python正則表現の使い方のまとめ」、「Pythonデータ構造とアルゴリズム教程」、「Python Socketプログラミング技術のまとめ」、「Python関数使用テクニックのまとめ」、「Python文字列操作テクニックのまとめ」、「Python入門と階段の経典教程」および「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プログラムの設計に役に立ちます。