导读 🔥 直接插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置
🔥 直接插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
💡 原理详解:
1️⃣ 初始状态:序列只有一个元素,自然是有序的。
2️⃣ 逐步插入:从第二个元素开始,依次将每个元素插入到前面已排序的序列中。
3️⃣ 插入过程:比较新元素与已排序部分的最右元素,如果新元素更小,则交换位置,重复此步骤直到找到合适的位置停止。
🔍 图文解析:
- 第一步:将第一个元素视为已排序序列。
- 第二步:取出下一个元素,与已排序序列中的元素逐一比较。
- 第三步:当发现一个更大的元素时,将当前元素插入到该元素之前。
- 第四步:重复上述步骤,直至所有元素均被处理。
📚 示例代码:
```python
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
```
🌟 总结:直接插入排序适用于数据量较小或基本有序的情况,时间复杂度为O(n²),但实现简单且易于理解。
希望这篇内容能够帮助你更好地理解和掌握直接插入排序!👍