Rennie44/Sorting-Algorithm-Visualization
0
1"""2Binary search step-by-step visualization.3Visual fields:4- compare: (mid, None)5- swapped: always False6"""7 8def binary_search_steps(arr, target):9 steps = []10 a = arr.copy()11 12 left = 013 right = len(a) - 114 15 while left <= right:16 mid = (left + right) // 217 18 # Show comparison19 steps.append({20 "array": a.copy(),21 "compare": (mid, None),22 "swapped": False,23 "swapped_indices": None24 })25 26 if a[mid] == target:27 steps.append({28 "array": a.copy(),29 "compare": (mid, None),30 "swapped": True,31 "swapped_indices": (mid, mid)32 })33 break34 35 if target < a[mid]:36 right = mid - 137 else:38 left = mid + 139 40 # Final frame41 steps.append({"array": a.copy(), "compare": None, "swapped": False, "swapped_indices": None})42 return steps43 