-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRed_Black_Trees.py
69 lines (53 loc) · 1.76 KB
/
Red_Black_Trees.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import Tree_funcs_classes as TFC
tree = TFC.RB_Tree('numbers', None)
nodes = [TFC.fem, TFC.elleve, TFC.tolve, TFC.ti, TFC.fire, TFC.to, TFC.en, TFC.nul, TFC.otte, TFC.syv, TFC.tre, TFC.ni, TFC.nifem] #, en, fire , syv, , nul, to, seks, otte, ti, tolve]
for node in nodes:
tree.RB_insert_node(node)
for node in nodes:
print(node.item, node.colour)
if node.left != None and node.right != None:
print([node.left.item, node.right.item])
elif node.left != None:
print([node.left.item, []])
elif node.right != None:
print([[], node.right.item])
else:
print([])
print(tree.isRBTree())
print('now delete 9 \n ')
# tree.RB_delete_node(TFC.ni)
# for node in nodes:
# print(node.item, node.colour)
# if node.left != None and node.right != None:
# print([node.left.item, node.right.item])
# elif node.left != None:
# print([node.left.item])
# elif node.right != None:
# print([node.right.item])
# else:
# print([])
# print(tree.isRBTree())
# tree.RB_delete_node(TFC.otte)
# for node in nodes:
# print(node.item, node.colour)
# if node.left != None and node.right != None:
# print([node.left.item, node.right.item])
# elif node.left != None:
# print([node.left.item])
# elif node.right != None:
# print([node.right.item])
# else:
# print([])
# print(tree.isRBTree())
tree.RB_delete_node(TFC.nifem)
for node in nodes:
print(node.item, node.colour)
if node.left != None and node.right != None:
print([node.left.item, node.right.item])
elif node.left != None:
print([node.left.item, []])
elif node.right != None:
print([[], node.right.item])
else:
print([])
print(tree.isRBTree())