多路查找树
class Node(object):
def __init__(self, key=None, parent=None):
self.key = key
self.parent = parent
self.children = list()
def __repr__(self):
return f"key={self.key}, parent={self.parent}, children={[c.key for c in self.children]}"
class MultiWaySearchTree(object):
def __init__(self, degree=1):
self.root = None
self.degree = degree
def __iter__(self, node=None):
if node is None:
node = self.root
yield node
for child in node.children:
yield child
for child in node.children: