Coding style fixes and improvements

This commit is contained in:
Angelos Chalaris
2018-02-04 17:58:57 +02:00
parent 4c35266581
commit 1006da6fa5
19 changed files with 30 additions and 51 deletions

View File

@ -1,11 +1,11 @@
### binarySearch
Use recursion. Similar to `Array.indexOf()` that finds the index of a value within an array.
Use recursion. Similar to `Array.indexOf()` that finds the index of a value within an array.
The difference being this operation only works with sorted arrays which offers a major performance boost due to it's logarithmic nature when compared to a linear search or `Array.indexOf()`.
Search a sorted array by repeatedly dividing the search interval in half.
Begin with an interval covering the whole array.
If the value of the search is less than the item in the middle of the interval, recurse into the lower half. Otherwise recurse into the upper half.
Search a sorted array by repeatedly dividing the search interval in half.
Begin with an interval covering the whole array.
If the value of the search is less than the item in the middle of the interval, recurse into the lower half. Otherwise recurse into the upper half.
Repeatedly recurse until the value is found which is the mid or you've recursed to a point that is greater than the length which means the value doesn't exist and return `-1`.
```js
@ -15,8 +15,8 @@ const binarySearch = (arr, val, start = 0, end = arr.length - 1) => {
if (arr[mid] > val) return binarySearch(arr, val, start, mid - 1);
if (arr[mid] < val) return binarySearch(arr, val, mid + 1, end);
return mid;
}
```
};
```
```js
binarySearch([1, 4, 6, 7, 12, 13, 15, 18, 19, 20, 22, 24], 6); // 2