Типом является синтаксического дереваHaskell TRIE функции - Установка значений и поиск
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 - разные структуры данных. Можете ли вы отредактировать сообщение, так что trie не используется вместо дерева и наоборот? Это домашнее задание? Если да, добавьте тег домашней работы – nponeccop
Обратите внимание, что ваши примеры неверны: результат 'findTrie 'c" должен содержать результат для 'findTrie" ca ". Итак, первая строка должна быть 'findTrie 'c" oneTrie -> ["at", "in", "z", "r"] ' – nponeccop