Binary search algorithm with ruby Oct 26, 2023 An efficient search algorithm in ruby that finds the position of a target value within a sorted array. def midFromLowHigh(low, high) ((low + high) / 2).floor end def binary_search(list, target) low = 0 high = (list.size - 1) begin mid = midFromLowHigh(low, high) guess = list[mid] if (guess === target); return mid elsif (guess > target); high = mid - 1 else low = mid + 1 end end while low <= high return -1; end list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] p1 = binary_search(list, 15) puts "position #{p1} value #{list[p1]}" #=> position 14 value 15 p2 = binary_search(list, 1) puts "position #{p2} value #{list[p2]}" #=> position 0 value 1 p3 = binary_search(list, 9) puts "position #{p3} value #{list[p3]}" #=> position 8 value 9 p4 = binary_search(list, 20) puts "position #{p4} value #{list[p4]}" #=> position -1 value 15