数据结构二分插入排序法可执行代码
时间: 2024-07-01 14:01:13 浏览: 90
二分插入排序(Binary Insertion Sort)是一种改进的插入排序算法,它在已排序部分使用了二分查找技术,从而减少了查找元素的次数,提高了效率。以下是使用Python实现的二分插入排序的简单示例:
```python
def binary_insertion_sort(arr):
if len(arr) <= 1:
return arr
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return low
for i in range(1, len(arr)):
key = arr[i]
j = binary_search(arr[:i], key)
arr = arr[:j] + [key] + arr[j:i] + arr[i+1:]
return arr
# 示例用法
arr = [9, 7, 5, 11, 12, 2, 14, 3]
sorted_arr = binary_insertion_sort(arr)
print("Sorted array:", sorted_arr)
阅读全文