gpt4 book ai didi

java - 为什么插入排序比排序数组的快速排序更快

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:35 24 4
gpt4 key购买 nike

我正在比较插入排序和快速排序。我已经弄清楚为什么 qsort 在几乎已排序的数组上速度较慢,但​​我无法弄清楚为什么插入排序要快得多,它肯定仍然需要比较数组中几乎一样多的元素?

最佳答案

插入排序在已排序或接近排序的数组上速度更快的原因是,当它向数组的已排序部分插入元素时,它几乎不需要移动任何元素。例如,如果数组的排序部分是 1 2下一个元素是 3 , 它只需要做一次比较 -- 2 < 3 -- 确定不需要移动3根本。因此,对已排序数组的插入排序是线性时间的,因为它只需要对每个元素进行一次比较。

关于java - 为什么插入排序比排序数组的快速排序更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10268046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com