File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import math
2+
3+ def search_ordered (ordered_list , term ):
4+
5+ for i , item in enumerate (ordered_list ):
6+ if item == term :
7+ return i
8+ elif item > term :
9+ return - 1
10+ return - 1
11+
12+
13+ def jump_search (ordered_list , item ):
14+
15+ list_size = len (ordered_list )
16+ block_size = int (math .sqrt (list_size ))
17+ i = 0
18+
19+ while i != len (ordered_list ) - 1 and ordered_list [i ] <= item :
20+ if i + block_size > len (ordered_list ):
21+ block_size = len (ordered_list ) - i
22+ block_list = ordered_list [i :i + block_size ]
23+ j = search_ordered (block_list , item )
24+ if j == - 1 :
25+ print ('Element not found' )
26+ return
27+ elif ordered_list [i + block_size ] == item :
28+ return i + blocksize - 1
29+ elif ordered_list [i + block_size ] > item :
30+ block_array = ordered_list [i : i + block_size - 1 ]
31+ j = search_ordered (block_array , item )
32+ if j == - 1 :
33+ print ("Element not found" )
34+ return
35+ return i + j
36+ i += block_size
You can’t perform that action at this time.
0 commit comments