類型的線索是Haskell的特里功能 - 將值和搜索
data Trie a = TrieNode (Maybe a) [(Char, Trie a)]
deriving Show
我想編寫一個函數,它的鍵值對和前綴特里結構。 然後我希望它返回包含鍵值對的符號表。如果密鑰已經存在,新的值應該替換舊的值。
例子:
trieInsert ("abc",10) emptyTrie ==
TrieNode Nothing [
('a', TrieNode Nothing [
('b', TrieNode Nothing [
('c', TrieNode (Just 10) [])])])]
我也希望能夠在特里搜索和查找與某一前綴開頭的鍵。 例子:
findTrie "c" oneTrie -> ["at","in"]
findTrie "ca" oneTrie -> ["z","r"]
樹和Trie是不同的數據結構。你可以編輯帖子,以便不使用樹而不使用樹,反之亦然?這是功課嗎?如果是 - 添加作業標籤 – nponeccop
請注意,您的示例是錯誤的:「findTrie」的結果c「'必須包含'findTrie」ca「'的結果。所以第一行應該是'findTrie'c「oneTrie - > [」at「,」in「,」z「,」r「]' – nponeccop