我試圖在多個部分(子列表)中切片列表(它稱爲輸入列表&它包含Java雙數據類型元素)。子列表的大小可以通過少量不相等的。每個部分(子列表)作爲另一個程序的輸入。輸入列表的大小是最大爲10,000的變量,即它可以小到1或2或3,大到100或10000或10000以下的任何數字。Java算法切片列表
什麼是最佳方式把這樣的列表分成多個部分?我一直在考慮Donald Knuth在3h + 1發行版中設計的貝殼類型差距。但是,我不確定這是否合適。感謝你的幫助。
謝謝!
我試圖在多個部分(子列表)中切片列表(它稱爲輸入列表&它包含Java雙數據類型元素)。子列表的大小可以通過少量不相等的。每個部分(子列表)作爲另一個程序的輸入。輸入列表的大小是最大爲10,000的變量,即它可以小到1或2或3,大到100或10000或10000以下的任何數字。Java算法切片列表
什麼是最佳方式把這樣的列表分成多個部分?我一直在考慮Donald Knuth在3h + 1發行版中設計的貝殼類型差距。但是,我不確定這是否合適。感謝你的幫助。
謝謝!
爲了擴大對答案M的最佳值,
假設有M.
然後你想最小化函數處理大小的列表相關的一些成本函數C
TotalCost = M * C(N/M)+開銷
其中開銷是分割列表的開銷。
我認爲對於大多數應用來說,不同的M值不會有太大的差異,所以沒有必要將它分開。
如果您有多個處理器,並且您可以將子列表交給另一個處理器,那麼這種情況很有用。在這種情況下,成本函數會更喜歡
TOTALCOST = C(N/M)+開銷如果M <數量的處理器
的,所以你應該選擇M至比數量接近但不處理器。
除非我誤解了這個問題,否則這很容易。
鑑於大小N,一個列表來創建中號子列表,其中M < N,
然後
M的最佳值是多少?因爲N有所不同。或者你如何確定M的價值? – 2011-04-07 17:20:15
M的最佳值取決於應用特性。處理大小爲N/M的N個列表與大小爲N的單個列表是否更便宜?如果是這樣,按什麼因素? – 2011-04-07 17:22:43
你想切片清單? – pajton 2011-04-07 17:00:42
這實際上取決於你想要分割的條件 – RoflcoptrException 2011-04-07 17:04:01
@java_pill - 你只是打算根據記錄數量來分割它嗎?或數據本身的一些標準?什麼決定了如何分割名單? – Jay 2011-04-07 17:16:58