Files
tira/viikko6/binary.py
T
2023-11-07 01:27:43 +02:00

51 lines
1007 B
Python

from random import randint, shuffle
n = 10**5
# n = 10
h = 0
class Node:
def __init__(self, value):
self.left = None
self.right = None
self.value = value
self.height = 1
def set_h(self, x):
self.height = x + 1
def add(self, value):
global h
if self.height > h:
h = self.height
# print(value, "-", self.value, "---", self.left, self.right)
if value > self.value:
if self.right is not None:
self.right.add(value)
else:
self.right = Node(value)
self.right.set_h(self.height)
return
else:
if self.left is not None:
self.left.add(value)
else:
self.left = Node(value)
self.left.set_h(self.height)
return
list = []
list = [x for x in range(1, n)]
shuffle(list)
N = Node(randint(1, n))
for x in list:
N.add(x)
print(h)