gpt4 book ai didi

arrays - A* 可接受的数组排序启发式算法

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

我正在尝试为这样的问题解决 A* 可接受的启发式方法-

I have a array of numbers.

I am only allowed to swap two adjacent numbers.

I need to solve it minimum no of swaps.

谁能帮我找到一个可接受的启发式来解决这个问题?

在此先感谢您的帮助。

最佳答案

解决这个问题的一个很好的启发式方法是计算数组中的反转次数。

反转是一对索引 i,j,其中 i < j 使得 A[i] > A[j](即该对的顺序不正确)。

有一种 O(nlogn) 方法可以通过合并排序计算倒置次数(有关某些方法的说明,请参阅 here)。

这是一个很好的启发式方法,因为反转次数给出了到目标的精确距离。总会有一个可能的移动将反转次数减少 1。进行这样的移动将以最少的步骤对数组进行排序。

关于arrays - A* 可接受的数组排序启发式算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331284/

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