Skip to content

Commit a660f2d

Browse files
committed
--update: added recursive approach
1 parent fe1d68c commit a660f2d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/Searching/BinarySearch/index.js

+16
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,19 @@ function binarySearch(arr, key) {
1919
}
2020
return null;
2121
}
22+
23+
function binarySearchRecursive(arr, low, high, key) {
24+
const mid = Math.floor((high - low) / 2 + low);
25+
26+
if (high < low) {
27+
return null;
28+
} else if (key < arr[mid]) {
29+
return binarySearchRecursive(arr, low, mid - 1, key);
30+
} else if (key > arr[mid]) {
31+
return binarySearchRecursive(arr, mid + 1, high, key);
32+
} else if (key === arr[mid]) {
33+
return mid;
34+
}
35+
36+
return null;
37+
}

0 commit comments

Comments
 (0)