Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program Python untuk mencari elemen secara linear secara rekursif dalam tatasusunan

Program Python untuk mencari elemen secara linear secara rekursif dalam tatasusunan

WBOY
WBOYke hadapan
2023-08-20 23:22:301029semak imbas

Program Python untuk mencari elemen secara linear secara rekursif dalam tatasusunan

Carian linear ialah cara paling mudah untuk mencari elemen dalam tatasusunan. Ia adalah algoritma carian berurutan yang bermula dari satu hujung dan menyemak setiap elemen tatasusunan sehingga elemen yang diperlukan ditemui.

Rekursi ialah apabila fungsi memanggil dirinya sendiri, apabila menggunakan fungsi rekursif kita perlu menggunakan sebarang gelung untuk menjana lelaran. Sintaks di bawah menunjukkan cara fungsi rekursif mudah berfungsi.

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

Carian linear untuk elemen secara rekursif

Carian linear untuk elemen secara rekursif daripada tatasusunan hanya boleh dicapai dengan menggunakan fungsi. Dalam Python, untuk menentukan fungsi, kita perlu menggunakan kata kunci def.

Dalam artikel ini, kita akan belajar cara mencari elemen secara linear dalam tatasusunan secara rekursif dalam Python. Di sini, kami akan menggunakan senarai Python dan bukannya tatasusunan kerana Python tidak mempunyai jenis data khusus untuk mewakili tatasusunan.

Contoh

Kami akan memanggil fungsi recLinearSearch() secara rekursif dengan mengurangkan saiz tatasusunan. Jika saiz tatasusunan menjadi negatif, bermakna elemen itu tiada dalam tatasusunan, kami kembalikan -1. Jika padanan ditemui, kedudukan indeks di mana elemen terletak dikembalikan.

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

Output

2 was found at index 4.

Contoh

Mari kita lihat satu lagi contoh mencari elemen dalam tatasusunan.

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

Output

6 was found at index 2.

Contoh

Ambil carian untuk elemen 100 dalam tatasusunan sebagai contoh lain.

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

Output

100 was not found.

Dalam contoh di atas, elemen 100 tidak ditemui dalam tatasusunan yang diberikan.

Ini adalah contoh pencarian linear rekursif untuk elemen dalam tatasusunan menggunakan pengaturcaraan Python.

Atas ialah kandungan terperinci Program Python untuk mencari elemen secara linear secara rekursif dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam