當前位置:首頁 » 操作系統 » 計數逆序演算法

計數逆序演算法

發布時間: 2023-11-13 05:46:48

① 怎麼算逆序數急~~~!!!

可使用直接計數法,計算一個排列的逆序數的直接方法是逐個枚舉逆序,同時統計個數。

舉個例子:

標准列是1 2 3 4 5,那麼 5 4 3 2 1 的逆序數演算法

看第二個,4之前有一個5,在標准列中5在4的後面,所以記1個。

類似的,第三個 3 之前有 4 5 都是在標准列中3的後面,所以記2個。

同樣的,2 之前有3個,1之前有4個,將這些數加起來就是逆序數=1+2+3+4=10。

(1)計數逆序演算法擴展閱讀:

其它演算法:

1、歸並排序

歸並排序是將數列a[l,h]分成兩半a[l,mid]和a[mid+1,h]分別進行歸並排序,然後再將這兩半合並起來。在合並的過程中(設l<=i<=mid,mid+1<=j<=h),當a[i]<=a[j]時,並不產生逆序數;

當a[i]>a[j]時,在前半部分中比a[i]大的數都比a[j]大,將a[j]放在a[i]前面的話,逆序數要加上mid+1-i。因此,可以在歸並排序中的合並過程中計算逆序數。

2、樹狀數組

由於樹狀數組的特性,求和是從當前節點往前求,所以,這里要查詢插入當前數值之時,要統計有多少個小於該數值的數還沒插入,這些沒插入的數,都會在後面插入,也就形成了逆序數。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:643
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:933
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:630
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:817
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:728
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1063
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:296
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:157
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:847
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:759