Maison  >  Article  >  développement back-end  >  Programme Python pour rechercher de manière récursive et linéaire des éléments dans un tableau

Programme Python pour rechercher de manière récursive et linéaire des éléments dans un tableau

WBOY
WBOYavant
2023-08-20 23:22:301026parcourir

La

Programme Python pour rechercher de manière récursive et linéaire des éléments dans un tableau

Recherche linéaire est le moyen le plus simple de rechercher des éléments dans un tableau. Il s'agit d'un algorithme de recherche séquentielle qui commence à une extrémité et vérifie chaque élément du tableau jusqu'à ce que l'élément requis soit trouvé.

Récursion c'est lorsqu'une fonction s'appelle elle-même, lors de l'utilisation de fonctions récursives, nous devons utiliser n'importe quelle boucle pour générer des itérations. La syntaxe ci-dessous montre comment fonctionne une fonction récursive simple.

def rerecursiveFun():
   Statements
   ...   
   rerecursiveFun()
   ...
rerecursiveFun

Recherche linéaire d'éléments de manière récursive

La recherche linéaire d'un élément de manière récursive à partir d'un tableau ne peut être réalisée qu'en utilisant des fonctions. En Python, pour définir une fonction, nous devons utiliser le mot-clé def.

Dans cet article, nous apprendrons comment rechercher linéairement des éléments dans un tableau de manière récursive en Python. Ici, nous utiliserons des listes Python au lieu de tableaux puisque Python n'a pas de type de données spécifique pour représenter les tableaux.

Exemple

Nous appellerons la fonction recLinearSearch() de manière récursive en décrémentant la taille du tableau. Si la taille du tableau devient négative, ce qui signifie que l'élément n'est pas dans le tableau, nous renvoyons -1. Si une correspondance est trouvée, la position d'index de l'élément est renvoyée.

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

Sortie

2 was found at index 4.

Exemple

Regardons un autre exemple de recherche d'éléments dans un tableau.

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

Sortie

6 was found at index 2.

Exemple

Prenons la recherche de l'élément 100 dans un tableau comme autre exemple.

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

Sortie

100 was not found.

Dans l'exemple ci-dessus, l'élément 100 est introuvable dans le tableau donné.

Ceci sont des exemples de recherche linéaire récursive d'éléments dans un tableau à l'aide de la programmation Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer