Update Ternary Search.py

pull/343/head
Kavin18 2024-05-16 17:38:58 +05:30 zatwierdzone przez GitHub
rodzic 6b63ffea19
commit 86f126fba9
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
1 zmienionych plików z 2 dodań i 20 usunięć

Wyświetl plik

@ -1,50 +1,32 @@
import math as mt
def ternarySearch(l, r, key, ar):
if (r >= l):
mid1 = l + (r - l) //3
mid2 = r - (r - l) //3
if (ar[mid1] == key):
return mid1
if (ar[mid2] == key):
return mid2
if (key < ar[mid1]):
return ternarySearch(l, mid1 - 1, key, ar)
elif (key > ar[mid2]):
return ternarySearch(mid2 + 1, r, key, ar)
else:
return ternarySearch(mid1 + 1,
mid2 - 1, key, ar)
return ternarySearch(mid1 + 1, mid2 - 1, key, ar)
return -1
l, r, p = 0, 9, 5
l, r = 0, 9
ar = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
l = 0
r = 9
key = 5
p = ternarySearch(l, r, key, ar)
print("Index of", key, "is", p)
key = 50
p = ternarySearch(l, r, key, ar)
print("Index of", key, "is", p)