如何优雅地画一棵树

前言

不知道你有没有找过一些工具来画数据结构的图,我反正是找了不少。windows下的visio是挺强大的,不过在linux没法使用,当然你非要使用也可以安装wine;亿图也不错,支持画数据结构图,不过是收费的。然而前面这些都不是重点,重点是他们画图都是拖拽类型的,手残党实在把持不住。最后终于发现了一款程序员画图神器-graphviz。《什么是二叉查找树》文中的树图就是用该工具画的.

graphviz简介

Graphviz是开源图形可视化软件。图形可视化是一种将结构信息表示为抽象图和网络图的方法。 它在网络,生物信息学,软件工程,数据库和网页设计,机器学习以及其他技术领域的可视化界面中具有重要的应用。--来自Graphviz官网https://www.graphviz.org/。

实际上它和markdown类似,markdown用纯文本编写文档,而能够转化成格式丰富的html,而graphviz使用dot标记语言来编写,能够被转换成svg,png,jpg等图形格式。甚至可以说,它就是用纯文本来完成画图。

除此之外,它还提供多种语言的api接口,例如,C,python,java,ruby等,也就是说,你可以根据自己的需要通过编写代码来生成你需要的图形。不过文本不准备使用这种方式,而是直接使用dot语言来画我们需要的图。

安装

linux,windows,mac等系统都支持,安装包下载地址:graphviz。具体安装过程就不介绍了。安装完成后,windows下有一个gvedit.exe的程序可以用来编辑预览,但是关键使用的还是dot.exe。而linux执行:

$ sudo apt-get install graphviz

安装完后就可以直接使用dot命令了。window下还有可视化界面,可以一边编写,一边预览。

如何画二叉树

实际上,它能够画各种各样的数据结构图,后面也会随着数据结构的介绍而不断介绍各种数据结构的画法,本文仅介绍树的画法。

digraph binaryTree{
   
    node[shape=circle,color=red,fontcolor=blue,fontsize=10];
    root[color=blue,fontcolor=black,fontsize=20];
    root->a[style=dotted];
    root->b;
    a->c;
    a->d;
    b->e;
    b->f;
}

将上面的内容保存在一个文件,并以.dot结尾,例如tree.dot。然后在命令行执行命令:


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值