python中排序方法(python插入排序的性能问题)
1 、空间复杂度是O(1) ,是原地排序算法 。
除了运行时需要临时变量存储交换的数据和下标外 ,不需要额外的存储空间 。
2 、稳定性 ,对于值相同的元素 ,选择将后面出现的元素插入前面出现的元素后面 。
这样可以保证原来的前后顺序不变 ,所以是一种稳定的排序算法 。
3 、时间复杂度 ,最好的时间复杂度是O(n) 。
如果数据有序 ,不需要移动任何数据 。在搜索插入位置时 ,我们可以从尾到尾在有序区间搜索插入位置 ,每次只需要比较一次就可以确定插入位置 。如果数据是倒序的 ,每次都相当于在数据的第一位插入新数据 ,所以需要移动大量的数据 ,最坏的时间复杂度是O(n^2) 。平常时间复杂度,由于数据中插入元素的平均时间复杂度为O(n) ,所以对于插入排序 ,每次插入操作都相当于在数组中插入一个数据,循环执行n次插入操作 ,所以平均时间复杂度为O(n^2) 。
以上就是python插入排序的性能问题 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!