КБ
Size: a a a
КБ
𝕬
ᅠ
pl
КБ
ᅠ
КБ
ᅠ
КБ
𝕬
from typing import Optional, List
class Node:
def __init__(self, entry: Optional[dict]) -> None:
if entry:
entry_nodes: List[Optional[Node]] = [Node(entry=entry_value)
for entry_value in entry.values()
if isinstance(entry, dict)]
while len(entry_nodes) != 2:
entry_nodes.append(None)
self.left, self.right = entry_nodes
@property
def depth(self) -> int:
left: Optional[Node] = getattr(self, 'left', None)
right: Optional[Node] = getattr(self, 'right', None)
if left is None and right is None:
return 0
return max(self.left.depth if left else 0,
self.right.depth if right else 0) + 1
binary_tree_as_dict: dict = {1: {2: None}, 3: {4: {5: None}}
binary_tree: Node = Node(entry=binary_tree_as_dict})
binary_tree.depth
КБ
E
ᅠ
𝕬
from typing import Optional, List
class Node:
def __init__(self, entry: Optional[dict]) -> None:
if entry:
entry_nodes: List[Optional[Node]] = [Node(entry=entry_value)
for entry_value in entry.values()
if isinstance(entry, dict)]
while len(entry_nodes) != 2:
entry_nodes.append(None)
self.left, self.right = entry_nodes
@property
def depth(self) -> int:
left: Optional[Node] = getattr(self, 'left', None)
right: Optional[Node] = getattr(self, 'right', None)
if left is None and right is None:
return 0
return max(self.left.depth if left else 0,
self.right.depth if right else 0) + 1
binary_tree_as_dict: dict = {1: {2: None}, 3: {4: {5: None}}
binary_tree: Node = Node(entry=binary_tree_as_dict})
binary_tree.depth
КБ
ᅠ
E
КБ