2013-07-23 145 views
0

要求java哪種方法最好?

  1. 對於一個給定Map<String, String>
  2. %的編碼每個鍵/值條目
  3. 通過編碼鍵
  4. 排序條目
  5. 附加這些像?a=b&c=d

單個字符串方法1

  1. 準備TreeMap
  2. 將這些編碼的鍵/值條目放入此映射。
  3. 迭代地圖時連接輸出字符串。

方法2

  1. 具有預測大小準備一個ArrayList(源極 - map.size * 2)
  2. 插入那些編碼鍵/值而找到正確的位置
  3. 級聯這些輸出字符串,同時重複列表

方法3

  1. 準備LinkedList
  2. 插入的編碼鍵/值,而尋找合適的位置
  3. 串接輸出字符串,而迭代列表

哪種方法是最好的?

方法1:

回答

5

n爲鍵 - 值對的數量漸近複雜度爲O(N log n)的

方法2:爲O(n^2)

方法3:爲O(n^2)

第一種方法會比別人快了合理的大n,而是其他人可能更快時很少有鑰匙。