在有向圖中,我想要一個O(n + m)算法對鄰接列表中的列表進行排序,以便每個列表中的頂點名稱按遞增順序排序。 我能想到的唯一辦法是在每個列表上執行插入排序,但是這絕對不會在O(n + m)中運行。有人可以幫我弄這個嗎? 謝謝按遞增順序在鄰接列表中排序列表
-1
A
回答
0
我不相信這是可能的。您對O(n + m)時間的請求表明您正在尋找圖表的topological sort。但是,雖然這將對圖進行排序,但它不允許按照另一個度量(字符串節點名稱)對節點/邊進行排序所需的比較。
也許你沒有明確說明問題?
0
我還沒有足夠的積分通過評論問這個問題,所以我將假設n是頂點的數量,m是邊的數量。按頂點名稱排序,我假設你的意思是你想按字母順序排序。如果是這樣的話,那麼你可能會使用線性時間排序算法來實現O(n + m),即基數排序。只要頂點名稱的長度不是很大,對每個列表使用基數排序將花費O(n + m)時間總計。查看wiki的基數排序:
相關問題
- 1. 排序鄰接表按字母順序排列的兒童
- 2. 按遞增順序對元素排序兩個列表
- 3. 按字母順序排列的鏈表不按順序排列
- 4. 按字母順序排列Wordpress列表
- 5. 按字母順序排列2D列表?
- 6. 按字母順序排列列表項
- 7. 列表Levenshtein按順序排列PHP
- 8. C:按字母順序排列列表
- 9. 按字母順序排序列表
- 10. 按字母順序排序列表
- 11. 將列表按字母順序排序
- 12. 按字母順序排序列表
- 13. 按相反順序排序列表
- 14. C#列表順序由排按升序
- 15. 按日期排序列表,然後按最新順序排列
- 16. 按字母順序在PHP中遞增列表
- 17. 排序表的順序不按字母順序排列
- 18. 排序順序列表框
- 19. 按另一個列表的順序對一個列表排序
- 20. 按另一個列表順序列表排序
- 21. 按字母順序排序元組列表的列表
- 22. Python:按照字母順序排列的單詞排序列表
- 23. 排序列表W /遞增值
- 24. 按順序排列
- 25. 排序在Python列表名單按字母順序「列」
- 26. javascript - 按數字順序排列表格
- 27. 按字母順序排列java鏈接列表(類似字典)
- 28. 鏈接列表按字母順序排列
- 29. 順序按升序排列
- 30. 按字母順序排列複雜對象的排列列表