Heim >Backend-Entwicklung >Python-Tutorial >Python-Programm zur rekursiven linearen Suche nach Elementen in einem Array
Die lineare Suche ist die einfachste Möglichkeit, nach Elementen in einem Array zu suchen. Es handelt sich um einen sequentiellen Suchalgorithmus, der an einem Ende beginnt und jedes Element des Arrays überprüft, bis das erforderliche Element gefunden wird.
Rekursion ist, wenn eine Funktion sich selbst aufruft. Wenn wir rekursive Funktionen verwenden, müssen wir eine beliebige Schleife verwenden, um Iterationen zu generieren. Die folgende Syntax zeigt, wie eine einfache rekursive Funktion funktioniert.
def rerecursiveFun(): Statements ... rerecursiveFun() ... rerecursiveFun
Eine lineare Suche nach einem Element rekursiv aus einem Array kann nur durch die Verwendung von Funktionen erreicht werden. Um in Python eine Funktion zu definieren, müssen wir das Schlüsselwort def verwenden.
In diesem Artikel erfahren Sie, wie Sie Elemente in einem Array in Python linear und rekursiv durchsuchen. Hier verwenden wir Python-Listen anstelle von Arrays, da Python keinen spezifischen Datentyp zur Darstellung von Arrays hat.
Wir rufen die Funktion recLinearSearch() rekursiv auf, indem wir die Größe des Arrays verringern. Wenn die Größe des Arrays negativ wird, also das Element nicht im Array ist, geben wir -1 zurück. Wenn eine Übereinstimmung gefunden wird, wird die Indexposition zurückgegeben, an der sich das Element befindet.
# Recursively Linearly Search an Element in an Array def recLinearSearch( arr, l, r, x): if r < l: return -1 if arr[l] == x: return l if arr[r] == x: return r return recLinearSearch(arr, l+1, r-1, x) lst = [1, 6, 4, 9, 2, 8] element = 2 res = recLinearSearch(lst, 0, len(lst)-1, element) if res != -1: print('{} was found at index {}.'.format(element, res)) else: print('{} was not found.'.format(element))
2 was found at index 4.
Sehen wir uns ein weiteres Beispiel für die Suche nach Elementen in einem Array an.
# Recursively Linearly Search an Element in an Array def recLinearSearch(arr, curr_index, key): if curr_index == -1: return -1 if arr[curr_index] == key: return curr_index return recLinearSearch(arr, curr_index-1, key) arr = [1, 3, 6, 9, 12, 15] element = 6 res = recLinearSearch(arr, len(arr)-1, element) if res != -1: print('{} was found at index {}.'.format(element, res)) else: print('{} was not found.'.format(element))
6 was found at index 2.
Nehmen Sie als weiteres Beispiel die Suche nach Element 100 in einem Array.
# Recursively Linearly Search an Element in an Array def recLinearSearch(arr, curr_index, key): if curr_index == -1: return -1 if arr[curr_index] == key: return curr_index return recLinearSearch(arr, curr_index-1, key) arr = [1, 3, 6, 9, 12, 15] element = 100 res = recLinearSearch(arr, len(arr)-1, element) if res != -1: print('{} was found at index {}.'.format(element, res)) else: print('{} was not found.'.format(element))
100 was not found.
Im obigen Beispiel wurde Element 100 im angegebenen Array nicht gefunden.
Dies sind Beispiele für die rekursiv lineare Suche nach Elementen in einem Array mithilfe der Python-Programmierung.
Das obige ist der detaillierte Inhalt vonPython-Programm zur rekursiven linearen Suche nach Elementen in einem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!