簡體   English   中英

數組排序的A *允許啟發式

[英]A* admissible heuristics on a array sorting

我正在嘗試解決此類問題的A *可允許啟發式-

我有一組數字。

我只可以交換兩個相鄰的號碼。

我需要解決它的最小交換次數。

誰能幫我找到一個可接受的啟發式方法來解決這個問題?

在此先感謝您的幫助。

一個很好的啟發式方法是計算數組中的反轉次數。

倒數是一對索引i,j,且i <j,從而A [i]> A [j](即,該對的順序不正確)。

有一個O(nlogn)方法可以通過mergesort計算反轉次數(有關某些方法的說明,請參見此處 )。

這是一個很好的啟發式方法,因為反轉的次數給出了到目標的精確距離。 總會有一種可能的方法,將反轉的數量減少1。執行這樣的操作將以最少的步數對數組進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM