
前言不知你是否曾寻找过一些工具来绘制数据结构图?我确实尝试过不少。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上执行:
代码语言:javascript代码运行次数:0svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg">
安装完成后即可直接使用dot命令。Windows下还有可视化界面,可以一边编写一边预览。如何画二叉树实际上,它能够绘制各种类型的数据结构图,后续会随着数据结构的介绍而不断介绍各种数据结构的绘制方法,本文仅介绍树的绘制方法。
代码语言:javascript代码运行次数:0运行复制```javascript 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命令转换成图像文件即可。










