Amazing-Python-Scripts

Форк
0
/
Binary_Search_Recursive.py 
47 строк · 979.0 Байт
1
# -*- coding: utf-8 -*-
2
"""
3
Author: Himanshu Agarwal
4
Github: himanshu-03 (http://github.com/himanshu-03)
5
LinkedIn: agarwal-himanshu (https://linkedin.com/in/agarwal-himanshu)
6

7
# Binary Search (Recursive)
8
"""
9

10
# Recursive Method
11

12

13
def binarysearch(a, start, end, key):
14
    if start == end:
15
        if a[start] == key:
16
            return start
17
        else:
18
            return -1
19
    else:
20
        mid = (start+end)//2
21

22
        if a[mid] == key:
23
            return mid
24

25
        elif a[mid] > key:
26
            return binarysearch(a, start, mid-1, key)
27

28
        else:
29
            return binarysearch(a, mid+1, end, key)
30

31

32
a = []
33
size = int(input('Enter size of array: '))
34
print('')
35
for i in range(size):
36
    data = int(input('Enter element: '))
37
    a.append(data)
38
print('')
39
print('Elements are: ', a)
40

41
key = int(input('Enter key to search: '))
42

43
res = binarysearch(a, 0, len(a)-1, key)
44
if res == -1:
45
    print(key, 'not found..!!')
46
else:
47
    print(key, 'found at', res+1, 'location')
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.