Maison > Article > développement back-end > Programme Python pour rechercher de manière récursive et linéaire des éléments dans un tableau
La
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
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.
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))
2 was found at index 4.
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))
6 was found at index 2.
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))
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!