再帰を伴う二分探索を実装するPythonプログラム
再帰を使用して二分探索を実装する必要がある場合は、インデックス「high」がインデックス「low」より大きいかどうかをチェックするメソッドを定義できます。 'mid'変数に存在する値に基づいて、要素を検索するために関数が再度呼び出されます。
リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。
以下は同じのデモンストレーションです-
例
def binary_search(my_list, low, high, elem): if high >= low: mid = (high + low) // 2 if my_list[mid] == elem: return mid elif my_list[mid] > elem: return binary_search(my_list, low, mid - 1, elem) else: return binary_search(my_list, mid + 1, high, elem) else: return -1 my_list = [ 1, 9, 11, 21, 34, 54, 67, 90 ] elem_to_search = 1 print("The list is") print(my_list) my_result = binary_search(my_list,0,len(my_list)-1,elem_to_search) if my_result != -1: print("Element found at index ", str(my_result)) else: print("Element not found!")
出力
The list is [1, 9, 11, 21, 34, 54, 67, 90] Element found at index 0
説明
- 「binary_search」という名前の関数が定義されています。
- リスト、「low」変数、「high」変数、および検索する要素をパラメーターとして受け取ります。
- 次に、変数「mid」に「high」変数と「low」変数の平均が割り当てられます。
- 「mid」の要素が検索する必要のある要素と同じである場合、それが返されます。
- それ以外の場合、「mid」位置の要素が検索対象の要素よりも大きい場合は、異なるパラメーターのセットを渡すことで関数が再度呼び出されます。
- それ以外の場合、「mid」位置の要素が検索対象の要素よりも小さい場合は、別のパラメータセットを渡すことで関数が再度呼び出されます。
- これでリストが定義され、このリストをパラメーターとして渡すことで関数が呼び出されます。
- この操作のデータは変数に格納されます。
- この変数は、コンソールに表示される出力です。
-
Pythonプログラムでの線形探索
この記事では、線形検索とPython3.xでの実装について学習します。またはそれ以前。 アルゴリズム 指定されたarr[]の左端の要素から開始し、要素xをarr []の各要素と1つずつ比較します。 xがいずれかの要素と一致する場合は、インデックス値を返します。 xがarr[]のどの要素とも一致しない場合は、-1を返すか、要素が見つかりません。 次に、特定のアプローチの視覚的表現を見てみましょう- 例 def linearsearch(arr, x): for i in range(len(arr)): &nbs
-
線形探索のためのPythonプログラム
この記事では、線形検索とPython3.xでの実装について学習します。またはそれ以前。 アルゴリズム Start from the leftmost element of given arr[] and one by one compare element x with each element of arr[] If x matches with any of the element, return the index value. If x doesn’t match with any of elements in arr[] , return -1 or element no