|
1 | 1 | function BinarySearch(array, element, minIndex, maxIndex) { // array = sorted array, element = element to be found, minIndex = minIndex index, maxIndex = maxIndex index |
2 | | - if (minIndex > maxIndex) { |
3 | | - tracer._print(element + ' is not found!'); |
4 | | - return -1; |
5 | | - } |
| 2 | + if (minIndex > maxIndex) { |
| 3 | + tracer._print(element + ' is not found!'); |
| 4 | + return -1; |
| 5 | + } |
6 | 6 |
|
7 | | - var middleIndex = Math.floor((minIndex + maxIndex) / 2); |
8 | | - var testElement = array[middleIndex]; |
| 7 | + var middleIndex = Math.floor((minIndex + maxIndex) / 2); |
| 8 | + var testElement = array[middleIndex]; |
9 | 9 |
|
10 | | - tracer._print('Searching at index: ' + middleIndex); |
11 | | - tracer._notify(middleIndex); |
| 10 | + tracer._print('Searching at index: ' + middleIndex); |
| 11 | + tracer._notify(middleIndex); |
12 | 12 |
|
13 | | - if (testElement < element) { |
14 | | - tracer._print('Going right.'); |
15 | | - return BinarySearch(array, element, middleIndex + 1, maxIndex); |
16 | | - } |
| 13 | + if (testElement < element) { |
| 14 | + tracer._print('Going right.'); |
| 15 | + return BinarySearch(array, element, middleIndex + 1, maxIndex); |
| 16 | + } |
17 | 17 |
|
18 | | - if (testElement > element) { |
19 | | - tracer._print('Going left.'); |
20 | | - return BinarySearch(array, element, minIndex, middleIndex - 1); |
21 | | - } |
| 18 | + if (testElement > element) { |
| 19 | + tracer._print('Going left.'); |
| 20 | + return BinarySearch(array, element, minIndex, middleIndex - 1); |
| 21 | + } |
22 | 22 |
|
23 | | - if (testElement === element) { |
24 | | - tracer._print(element + ' is found at position ' + middleIndex + '!'); |
25 | | - tracer._select(middleIndex); |
26 | | - return middleIndex; |
27 | | - } |
| 23 | + if (testElement === element) { |
| 24 | + tracer._print(element + ' is found at position ' + middleIndex + '!'); |
| 25 | + tracer._select(middleIndex); |
| 26 | + return middleIndex; |
| 27 | + } |
28 | 28 |
|
29 | | - tracer._print(element + ' is not found!'); |
30 | | - return -1; |
| 29 | + tracer._print(element + ' is not found!'); |
| 30 | + return -1; |
31 | 31 | } |
32 | 32 |
|
33 | | -var element = D[0]; |
| 33 | +var element = D[Math.random() * D.length | 0]; |
34 | 34 |
|
35 | 35 | tracer._sleep(1000); |
36 | 36 | tracer._pace(1000); |
|
0 commit comments