Professional Documents
Culture Documents
•
𝑇 𝑁
• 𝑇 𝑟∈𝑁 𝑟 𝑟 𝑇
• 𝑛∈𝑁 𝑣∈𝑁 𝑣
𝑣
𝑣 𝑣
𝑣 𝑣
𝑢 𝑣 𝑢=𝑣 𝑢 𝑣
𝑣 𝑢 𝑢 𝑣
𝑇 𝑣 𝑣 𝑇
𝑣
𝑇 𝑢, 𝑣 𝑢 𝑣
𝑛
𝑛−1
𝛼 𝛽 𝛾
𝑒 𝑓 𝑔
api/ controllers/
api/ models/
api/ routes/
api/ __init__.py
api/ database.py
controllers/ channel_controller.py
models/ channel.py
routes/ channel_routes.py
𝑇 𝑝0 , 𝑝1 , . . . , 𝑝𝑛 (𝑝𝑖 , 𝑝𝑖+1 ) 𝑇
𝑖 0 𝑛−1
𝑇
𝑇
𝑒 api/ controllers/ 𝑗 controllers/ channel_controller.py
𝑒 api/ controllers/
𝑗 controllers/ channel_controller.py
𝑒 controllers/
N
self._element
self._parent
self._children
N.element()
N.add(element, parent)
Node
class Node:
def element(self):
return self._element
def __repr__(self):
return f"* {self.element()}"
ADTTree
T.root() T None T
T.is_root(p) True p T
T.parent(p) p None p
T.num_children(p) p
T.children(p) p
T.is_leaf(p) True p
len(T) T
T.is_empty() True T
T.nodes() T
Node
iter(T) T
T Node
from node import Node
class ADTTree:
def __len__(self):
return self._size
def root(self):
return self._root
def is_empty(self):
if self.root() is None:
return True
else:
return False
def num_children(self, p):
return len(p._children)
def nodes(self):
pass
def __iter__(self):
pass
def __str__(self):
return self._str_recursive(self._root)
nodes iter
ADTTree
𝒑
𝑻
𝒑 𝒑
• 𝒑 𝒑
• 𝒑 𝒑
𝑨𝑫𝑻𝑻𝒓𝒆𝒆 𝒑 𝑻
def depth(self, p):
"""Calcula la profundidad de un nodo p para un árbol T"""
if self.is_root(p):
return 0
else:
return 1 + self.depth(self.parent(p))
𝒑 𝒑
𝒑 𝒑
𝑨𝑫𝑻𝑻𝒓𝒆𝒆 𝒑 𝑻
𝒑 𝑻 height
_recursive_height
height
height