Amazing-Python-Scripts
47 строк · 979.0 Байт
1# -*- coding: utf-8 -*-
2"""
3Author: Himanshu Agarwal
4Github: himanshu-03 (http://github.com/himanshu-03)
5LinkedIn: agarwal-himanshu (https://linkedin.com/in/agarwal-himanshu)
6
7# Binary Search (Recursive)
8"""
9
10# Recursive Method
11
12
13def binarysearch(a, start, end, key):
14if start == end:
15if a[start] == key:
16return start
17else:
18return -1
19else:
20mid = (start+end)//2
21
22if a[mid] == key:
23return mid
24
25elif a[mid] > key:
26return binarysearch(a, start, mid-1, key)
27
28else:
29return binarysearch(a, mid+1, end, key)
30
31
32a = []
33size = int(input('Enter size of array: '))
34print('')
35for i in range(size):
36data = int(input('Enter element: '))
37a.append(data)
38print('')
39print('Elements are: ', a)
40
41key = int(input('Enter key to search: '))
42
43res = binarysearch(a, 0, len(a)-1, key)
44if res == -1:
45print(key, 'not found..!!')
46else:
47print(key, 'found at', res+1, 'location')
48