33 lines
756 B
Python
33 lines
756 B
Python
# 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
|