亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用合并排序算法進行就地排序?

如何使用合并排序算法進行就地排序?

如何使用合并排序算法進行就地排序?我知道這個問題不太具體。我想要的只是有人告訴我如何將一個普通的合并排序轉換為就地合并排序(或者一個具有固定額外空間開銷的合并排序)。我所能找到的(在網上)只是寫著“太復雜了”或者“超出了這篇文章的范圍”的頁面。唯一已知的合并方式(沒有任何額外的空間)過于復雜,無法簡化為實用程序。(已采取)從這里開始)即使太復雜,如何使合并排序就位的基本概念是什么?
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

關鍵步驟是獲取合并它本身就在原地。這并不像那些消息來源所說的那么困難,但是當你嘗試的時候,你會失去一些東西。

查看合并的一個步驟:

[.名單-分門別類...|x.名單-A...|y.名單-B...]

我們知道分門別類序列比其他的都少,x比其他的東西都少A,而那個y比其他的東西都少B..在下列情況下x小于或等于y,您只需將指針移動到A一張。在下列情況下y小于x,你得洗牌y過了整個.A分門別類..最后一步是造成這一代價的原因(除了在退化的情況下)。

它通常更便宜(特別是當數組實際上只包含每個元素的單個單詞時,例如指向字符串或結構的指針),以換取時間,并有一個單獨的臨時數組,您可以在它們之間來回排序。


查看完整回答
反對 回復 2019-06-20
  • 3 回答
  • 0 關注
  • 818 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號