https://leetcode-cn.com/submissions/detail/24074608/
class Solution(object):
def sortColors(self, nums):
# ------------------------------------------------------------------------
def insertSort(data):
for i in range(1, len(data)): # data[0]当哨兵
tmp = data[i] # tmp:该趟要排的元素
j = i-1 # j:指向有序区的最后一个元素
while j >= 0 and tmp < data[j]: # 从后往前,依次与有序区元素比较
data[j+1] = data[j] # 元素后移,腾出空间
j -= 1
data[j+1] = tmp # 插入待排元素
# ------------------------------------------------------------------------
return insertSort(nums)
排序类别 | 排序方法 | 时间复杂度 | 空间复杂度 | 稳定性 | 复杂性 | ||
平均情况 | 最坏情况 | 最好情况 | |||||
插入排序 | 直接插入排序 | O(N2) | O(N2) | O(N) | O(1) | 稳定 | 简单 |