forked from hofmannol/AlgoDatSoSe25
22 lines
674 B
Python
22 lines
674 B
Python
from utils.memory_cell import MemoryCell
|
|
|
|
class BinaryTreeNode(MemoryCell):
|
|
|
|
def __init__(self, value):
|
|
super().__init__(value)
|
|
self.left = None
|
|
self.right = None
|
|
|
|
def height(self):
|
|
left_height = self.left.height() if self.left else 0
|
|
right_height = self.right.height() if self.right else 0
|
|
return 1 + max(left_height, right_height)
|
|
|
|
def __repr__(self):
|
|
return f"TreeNode(value={self.value}, left={self.left}, right={self.right})"
|
|
|
|
def __str__(self):
|
|
return str(self.value)
|
|
|
|
def graphviz_rep(self, row, col, dot):
|
|
dot.node(str(id(self)), label=str(self.value), pos=f"{col},{-row}!") |