插入排序-by-Python
生活随笔
收集整理的这篇文章主要介绍了
插入排序-by-Python
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
最好时间复杂度:O(n)
最坏时间复杂度:O(n²)
平均时间复杂度:O(n²)
空间复杂度:O(1)
是否为稳定排序:Yes
sort in place:Yes
python 实现:
class Solution:def insertionSort(self, nums):""":type nums: List[int]:rtype: void"""length = len(nums)if length <= 1:returnfor i in range(0, length-1):for j in range(i+1, 0, -1):# 不用“<=”为了保证排序的稳定性if nums[j] < nums[j-1]:nums[j], nums[j-1] = nums[j-1], nums[j]# 当已排序部分的最大值小于等于本次的取值,本次操作直接中断else:breakreturnif __name__ == "__main__":nums = [1,3,2,4,6,8,4,5,6,7]s = Solution()s.insertionSort(nums)print(nums) 复制代码总结
以上是生活随笔为你收集整理的插入排序-by-Python的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 中外教育专家“支招”中国学生如何接轨国际
- 下一篇: Python面向对象2:类与对象的成员分