上一节代码最后部分可以打印出来较为粗糙的二叉树结构:
应用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')
运行上面代码生成如下图片: