|
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