我有一個好奇的問題,我腦力激盪可能的解決方案。問題是這樣的:我有很多輸入(高達幾千個不同的輸入),它們在二維陣列中基本不同(陣列大小不一,從一號到幾千號)。處理數組需要一些時間來初始化數據的函數,所以我想將函數/仿函數與數據一起緩存並將它們存儲在地圖中。C++,什麼是散列數組的好方法?
現在,我該如何將原始數組轉換爲可用的散列表類型?我最初認爲要將數組讀入一個字符串並將字符串用作關鍵字。這是個好主意嗎?你有更好的建議嗎?
我有一個好奇的問題,我腦力激盪可能的解決方案。問題是這樣的:我有很多輸入(高達幾千個不同的輸入),它們在二維陣列中基本不同(陣列大小不一,從一號到幾千號)。處理數組需要一些時間來初始化數據的函數,所以我想將函數/仿函數與數據一起緩存並將它們存儲在地圖中。C++,什麼是散列數組的好方法?
現在,我該如何將原始數組轉換爲可用的散列表類型?我最初認爲要將數組讀入一個字符串並將字符串用作關鍵字。這是個好主意嗎?你有更好的建議嗎?
這些數組是整數嗎?如果是的話,只是用的東西是這樣的
hash = (hash + (324723947 + a[i])) ^93485734985;
類似的事情會正常工作的字符串,如果你做的所有字符。 最後,您可能會退房extra libs here
雙精度,所以技術上他們可以是整數。 – Anycorn 2010-02-18 02:16:39
然後它會完美地工作。我仍然會把它們整理爲整數。 – BarsMonster 2010-02-18 02:17:32
這個散列函數的衝突率是多少?我對此有點擔心 – Anycorn 2010-02-18 02:20:40
您是否需要查找特定的密鑰?我不確定在這裏使用哈希表是如何在這裏購買你的,如果你只是想在下一個數據集之後進行處理,這聽起來像。 – Joe 2010-02-18 02:14:11
@Joe是的,我確實需要查找鍵。相同的數據使用相同的函數處理10次或更多次。 – Anycorn 2010-02-18 02:18:45
但是,您如何知道*您需要再次處理哪些設置?你從描述中不能理解的是,你如何知道你的邏輯需要重新檢索哪個數據集? – Joe 2010-02-18 02:43:21