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
WBOYnach vorne
2023-08-20 23:22:301079Durchsuche

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

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))

Ausgabe

2 was found at index 4.

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))

Ausgabe

6 was found at index 2.

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))

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen