gpt4 book ai didi

arrays - 具有 O(n) 次反转的数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:59 25 4
gpt4 key购买 nike

试图找出什么类型的数组最多包含 n 个反转,其中 n 是数组大小。我在想一个几乎排序的数组会落在这种情况下,还有一个几乎完全排序的数组,例如最大元素和最小元素切换..

9 2 3 4 5 6 7 8 1

所以我的想法是,当一个数组最多有 n 次反转时,是否可以安全地说数组接近排序?或者是否存在其他情况,其中数组最多有 n 次反转并且几乎没有排序。

最佳答案

“最少”排序数组(即反向排序)有 1 + 2 + 3 + ... + n-1 = n(n-1)/2 次反转。

数组的反转次数越少,它的排序就“越多”。

而且,由于 nn(n-1)/2 小很多,所以可以用 n 调用数组> 反转“几乎排序”。

这个数组有 n-1 个反转:

9 1 2 3 4 5 6 7 8

为回应您的评论,insertion sort其复杂度为O(n + d),其中d为反转次数,因此运行时间为O(n) O(n) 次反转。

关于arrays - 具有 O(n) 次反转的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19608737/

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