相关疑难解决方法(0)

是否有充分的理由使用插入排序?

对于通用排序,答案似乎是否定的,因为快速排序,合并排序和堆排序往往在平均和最差情况下表现更好.但是,插入排序似乎在增量排序方面表现优异,即在保持列表排序的同时,在一段时间内一次向列表添加元素,尤其是在插入排序实现为链接列表时(O(log) n)平均情况与O(n)).但是,堆似乎能够(或几乎)执行增量排序(从堆中添加或删除单个元素具有O(log n)的最坏情况).那么插入排序与其他基于比较的排序算法或堆有什么关系呢?

algorithm computer-science

38
推荐指数
4
解决办法
4万
查看次数

为什么插入排序比快速排序更适合小的元素列表?

不插入排序O(n ^ 2)>快速排序O(nlogn)...所以对于小n,关系是否相同?

algorithm quicksort insertion-sort

24
推荐指数
3
解决办法
4万
查看次数

对于小案例,为什么插入排序比快速排序和冒泡排序更快?

我最近读了一篇文章,讨论了算法的计算复杂性.作者提到"为什么插入排序比小型案例的快速排序和冒泡排序更快".有人可以为此做出一些解释吗?

有人知道我上面提到的每种排序算法的实际复杂性吗?

algorithm quicksort bubble-sort time-complexity insertion-sort

6
推荐指数
1
解决办法
4522
查看次数

为什么在合并排序中的阈值交叉之后应使用插入排序

我已阅读无处不在,对于分而治之的排序算法像Merge-SortQuicksort,而不是递归,直到只有一个元素是左,这是更好地转移到Insertion-Sort时候一定阈值,比如30元,达到.那很好,但为什么只有Insertion-Sort?为什么不,Bubble-SortSelection-Sort两者都有类似的O(N^2)表现?Insertion-Sort只有当许多元素被预先排序时才应该派上用场(虽然这个优势也应该附带Bubble-Sort),但除此之外,为什么它应该比其他两个元素更有效?

其次,在这个链接中,在第二个答案及其附带的评论中,它表示O(N log N)O(N^2)最高级别相比表现不佳N.怎么会?N^2应该总是表现得比N log N,因为N > log N对于所有N> = 2,对吧?

sorting algorithm mergesort quicksort divide-and-conquer

6
推荐指数
3
解决办法
1万
查看次数