Segue a estrutura dos nós:
Segue entao a implementação da arvore:
Exemplo de uso:
Construindo a seguinte arvore:
- Código:
no = {
'value': None,
'left': None,
'right': None
}
Segue entao a implementação da arvore:
- Código:
def build_binary_tree(points=[]):
def insert(point, tree={}):
value = tree['value']
if value:
if point < value:
if tree['left'] is None:
tree['left'] = {
'value': point,
'left': None,
'right': None,
}
return tree
else:
tree['left'] = insert(point, tree['left'])
return tree
else:
if tree['right'] is None:
tree['right'] = {
'value': point,
'left': None,
'right': None,
}
return tree
else:
tree['right'] = insert(point, tree['right'])
return tree
else:
tree['value'] = point
return tree
tree = {
'value': None,
'left': None,
'right': None,
}
for point in points:
tree = insert(point, tree)
return tree
Exemplo de uso:
- Código:
arvore = build_binary_tree([20,10,1,22,9,11,30, 21])
Construindo a seguinte arvore: