我想知道是否有人可以建议一个数据结构来存储字符串在两个互斥的集合中。这些操作包括添加和删除一个字符串,将一个字符串从一个字符串移到另一个字符串,并返回每个字符串中的字符串数量。我正在考虑一个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