Implement binary search recursively. Binary search finds a target in a sorted array by repeatedly halving the search space.
Your function takes a sorted array and target value. Return the index if found, if not.
Requirements:
- Compare target to middle element
- If equal, return the index
- If target is smaller, search left half
- If target is larger, search right half
- Base case: empty range means not found
Example: In , finding : check middle (), go right, check middle (), found at index .