例如,在經典的基數排序實作中,我們開始從右到左對整數陣列進行排序,即從 LSD 開始。我的問題是,如果在下一次迭代中所有值都將再次排序,我們是否應該對最左邊的列進行排序?可以從最后的第二列開始排序嗎?
你可以在這個頁面找到我的意思的例子:https : //s3.stackabuse.com/media/articles/radix-sort-in-python-4.png
編輯:最右邊,但不是最左邊。
uj5u.com熱心網友回復:
不是最左邊而是最右邊(最低有效數字)。
是的,我們必須在第一階段按最右邊的數字排序,因為在第二階段我們只考慮第二個數字。
例如,如果我們有[15 13]陣列并且只想按第二個數字(從右數第二個 - 1)排序 - 不需要交換元素(查看相等的 1),并且陣列保持不變 - 未排序......
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/313533.html
上一篇:如何計算子陣列中的元素,從而得出滑動視窗演算法中的子陣列數量
下一篇:如何洗掉兩個單詞之間的所有空格?
