我想知道是否有人可以建議一個數據結構來存儲字符串在兩個互斥的集合中。這些操作包括添加和刪除一個字符串,將一個字符串從一個字符串移到另一個字符串,並返回每個字符串中的字符串數量。我正在考慮一個trie,但我不確定要返回每個集合中的字符串數量。字符串集合的數據結構
我想實現它在C.
我想知道是否有人可以建議一個數據結構來存儲字符串在兩個互斥的集合中。這些操作包括添加和刪除一個字符串,將一個字符串從一個字符串移到另一個字符串,並返回每個字符串中的字符串數量。我正在考慮一個trie,但我不確定要返回每個集合中的字符串數量。字符串集合的數據結構
我想實現它在C.
GLib中有你可以使用一個哈希表的實現: http://developer.gnome.org/glib/2.28/glib-Hash-Tables.html
您就可以使用兩個priority queues像Self-balancing binary search trees爲每套。您也可以使用treap。
一個散列會比一個trie更有效嗎? – Patrick 2011-05-17 04:11:03
這取決於。哈希表是更常用的已知和實現的,所以我會從此開始。 – 2011-05-17 16:12:18