gpt4 book ai didi

algorithm - 如果在 Hoare 快速排序中比较的元素相同怎么办?

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

考虑一个未排序的列表 9,3,5,3,9,其中 5 是主元。当比较索引 0 和索引 4 处的元素时,它们的值彼此相等,并且都大于基准值。在这种情况下会发生什么?它们不能互换,因为“小于”部分仍然有 9。是刚搬到另一边的 9 之一。 3 也是如此。他们会怎样?

最佳答案

这些元素不会相互比较。在 Hoare 分区方案中,数组从左侧扫描第一个元素 > pivot,然后从右侧扫描第一个元素 < pivot。这意味着第一次交换将是数组 [0] = 9 和数组 [3] = 3。之后不再发生交换。根据 Hoare 分区的实现和数据模式,主元可以作为左分区的最后一个元素或右分区的第一个元素结束。等于 pivot 的元素留在左分区或右分区中,并在以后的递归中处理。

关于algorithm - 如果在 Hoare 快速排序中比较的元素相同怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940849/

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