首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    八大常见算法排序详解

    在以前排序算法不多的时候,科学家们想着如何优化时间复杂度… 这时希尔想到,插入排序最坏的情况是 O(N^2) ,是在序列逆序的情况下,以目标排升序为例,最大的数字在最前面,那么要是将插入进行分组会不会交换的更快?答案是确实是快了! 因为将插入排序的思想进行分组插入后,如果分组越大,那么大的数字能更快的向后移动,而分组越小,大的数字就会越慢的向后移动。相反,分组越大,那么这个序列也越不接近有序,而分组越小,反而越接近有序。 所以希尔就根据这种特点,创造了缩小增量排序的基本思想! 简单来说: 希尔排序是按照不同步长对元素进行插入排序,==当刚开始元素很无序的时候,步长最大,所以插入排序的元素个数很少,速度很快;当元素基本有序了,步长很小,插入排序对于有序的序列效率很高。==所以,希尔排序的时间复杂度会比o(n^2)好一些。 实质就是一种分组插入的思想! 希尔排序的特性总结:

    07
    领券