這是一個面試問題。將名稱有序列表轉換爲有序列表
提供最佳的解決方案來實現這一目標:
輸入:學生檔案,按名稱排序列表。
輸出:學生檔案表,按等級進行排序,然後按名稱
級可以 'A', 'B', 'C', 'd', 'E'
樣品輸入
Name | Grade
Adam | B
Ashley | C
Boxer | A
Britney | A
Caroline | E
David | B
樣本輸出
Name | Grade
Boxer | A
Britney | A
Adam | B
David | B
Ashley | C
Caroline | E
我提出這個SOLU重刑:
- 插入列表轉換爲具有地圖
- 散列的地圖有5個桶,每個年級一個
- 插入學生共享同一年級到一個桶裏。
- 鏈接用於管理碰撞
- 爲了避免
O(n2)
用於插入的複雜性,我存儲在桶中,其實現O(1)
隨機插入複雜的最後一個節點的指針。
我的問題是我的解決方案是否正確?
如果是,有什麼可以改進的?
如果不是,還有什麼其他的數據結構可以用來實現這一點?
你的方法在這裏很好,很有效率。 – amit