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) |
稳定 |
简单 |