gpt4 book ai didi

algorithm - Quicksort 是否就位?

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

<分区>

所以Quicksort的空间效率是O(log(n))。这是维护调用堆栈所需的空间。

现在,根据Wikipedia page on Quicksort ,这有资格作为就地算法,因为该算法只是在输入数据结构中交换元素。

According to this page但是,O(log n) 的空间效率使 Quicksort 无法就位,因为它的空间效率大于 O(1)。根据这个定义,任何空间效率大于 O(1) 的算法都不是就地算法。所以我假设这意味着所有递归算法都没有定义?

很明显这里有两种不同的就地定义。维基百科并不总是完全可靠的来源,所以我咨询了我的一位教授。

我的教授同意第二个定义。他说Quicksort不就地。即使数据保留在输入数组中,堆栈所需的额外空间也使它不合格。我的教授写了一本关于算法的畅销书,所以我非常尊重他的意见,但这个答案对我来说似乎并不正确。

我认为就地属性非常直白。数据保留在原地。它不会从它的原始数据结构中移动。对我来说,这个定义更有用,因为它意味着你可以用指针来执行你的算法,而不是要求你复制数据。这似乎是算法的一个有值(value)的属性,名副其实的“就地”。

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