package
0.0.0-20241130124153-15de9e77b9bd
Repository: https://github.com/sai7xp/dsa-fun.git
Documentation: pkg.go.dev

# README

Binary Search Algorithm

  • Faster than Linear search since the array is sorted, and we can eliminate half of the array in each iteration.
  • Time Complexity O(logN) N is No. of Elements
  • Implemented Order-Agnostic Binary Search. Algorithm which works on both ascending ordered array and descending ordered array.
isAsc := nums[0] < nums[length-1]

	for low <= high {
		mid := low + (high-low)/2
		if nums[mid] == target {
			return mid
		}

		if isAsc {
			if nums[mid] > target {
				high = mid - 1
			} else {
				low = mid + 1
			}
		} else {
			if nums[mid] > target {
				low = mid + 1
			} else {
				high = mid - 1
			}
		}
	}