Heim > Backend-Entwicklung > Python-Tutorial > Python-Programm zur rekursiven linearen Suche nach Elementen in einem Array

Python-Programm zur rekursiven linearen Suche nach Elementen in einem Array

WBOY
Freigeben: 2023-08-20 23:22:30
nach vorne
1081 Leute haben es durchsucht

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
Nach dem Login kopieren

Lineare Suche nach Elementen rekursiv

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.

Beispiel

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))
Nach dem Login kopieren

Ausgabe

2 was found at index 4.
Nach dem Login kopieren

Beispiel

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))
Nach dem Login kopieren

Ausgabe

6 was found at index 2.
Nach dem Login kopieren

Beispiel

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))
Nach dem Login kopieren

Ausgabe

100 was not found.
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage