mirror of
https://github.com/iritmaximus/tira.git
synced 2026-10-12 19:13:47 +03:00
51 lines
1007 B
Python
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)
|