哈夫曼树可视化
import matplotlib.pyplot as plt
class Tree:
def __init__(self, weight=None, left=None, right=None):
self.weight = weight
self.left = left
self.right = right
self.is_red = False
def get_height(self): # 返回树高度,未优化算法应该比较慢
layers = [self]
layer_count = 0
while layers:
layer_count += 1
new_list = []
for node in layers:
if node.left:
new_list.append(node.left)
if node.right:
new_list.append(node.right)
layers = new_list
return layer_count
def visualize(self, axis='off'):
''' 可视化树结构
基本算法: 将树状结构映射到二维矩阵中,
如果节点左右下方有节点则把该节点加入到矩阵中的坐标中,
如节点(x,y)左下方有节点则把节点放入(x+offset,y+1)
offset为x坐标偏移量,
offset = 2**(len

最低0.47元/天 解锁文章
1552

被折叠的 条评论
为什么被折叠?



