上一节代码最后部分可以打印出来较为粗糙的二叉树结构:


应用pygraphviz库,可以生成二叉树图,由于还不是很熟悉用法,这里是手动设置节点:pygraphviz的安装过程可参见:pygraphviz安装教程


import pygraphviz as pgv  
  
G = pgv.AGraph(strict=False, directed=True)  
  
G.add_node('331')   
G.add_edge('331','320')
G.add_edge('331','220')  
G.add_edge('331','310')
G.add_edge('320','no way')
G.add_edge('220','321')
G.add_edge('310','321')
G.add_edge('321','300')
G.add_edge('300','110')
G.add_edge('110','221')
G.add_edge('221','020')
G.add_edge('020','031')
G.add_edge('031','010')
G.add_edge('010','021')
G.add_edge('010','111')
G.add_edge('021','000')
G.add_edge('111','000')
G.graph_attr['label'] = u'M_C states'  
G.node_attr['shape'] = 'circle'  
G.edge_attr['color'] = 'blue'    
s = G.to_string()     
G.layout(prog='dot')  
G.draw('first.png')

 运行上面代码生成如下图片: 

 

 


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐