# Syntax tree in disguise class Node: def __init__(self, symbol=None, leaf=False, children={}): # root node doesn't need any actual data self.symbol = None self.leaf = leaf # {key=char : value=Node} self.children = children class Trie: def __init__(self): # root should contain every letter so that we can pick our thing root = Node() #wrapper func def traverse(self, func, phrase, _node): # wew lad def func(_phrase, _node): return func(phrase) @traverse def insert(self, phrase, node): pass @traverse def remove(self, phrase, node): pass @traverse def checkPhrase(self, phrase): pass