图解程序员画流程图、数据结构图及各种复杂图形的Graphviz工具入门

http://blog.csdn.net/jin13277480598/article/details/51305674
安装Graphviz
如何使用Graphviz
1 学习官方例程
2查看例程源代码
3建立工程输出图像

我们画常规图形时一般用word上面自带的插件或visio画图。但是我在画linux内核文件系统结构图、内

存分配以及学习数据结构树、图时,发现使用Graphviz非常的方便快捷。鉴于网上关于它的安装、使用

不是特别具体,本博文将一步步告诉大家如何快速地使用Graphviz画相关的流程图、树形图等。

1.安装Graphviz
在官网上面下载相关文件,地址:http://www.graphviz.org/Download..php。如果遇到官网进不去,可

以等待一旦时间或者在网上直接搜索下载。

Linux安装命令为sudo apt-get install graphviz 。下面以Windows为例:

点击进入之后,下载后缀为.msi的文件。笔者下载的为graphviz-2.38.msi.

特别说明:安装完毕,在桌面可能不会出现快捷方式,不要以为自己没有安装成功。这时候我们可以在

安装源目录里面找出来或者在所有程序里面把它搜索出来。建议第一种方法找到之后,右键建立快捷方

式。

点击 gvedit.exe之后出现这个界面,其中那个跑步的为运行按钮

2. 如何使用Graphviz
2.1 学习官方例程
为了方便大家之后能够快速入门,这里我采用官网上面的源代码,官网上面例子很多。大家可以按需学

习。例程官网地址:http://www.graphviz.org/Gallery.php

2.2查看例程源代码
这里以第二个例程源代码crazy为例,先点击图片进入。

之后可以看到指示,点击图片即可看见到源代码。

2.3建立工程,输出图像
先点击最左侧像书页的图标,在GVEdit上面的新建.gv文件,将上面获取的代码,粘贴进去,点击跑步按

钮,即可生成所需图像。

附带一个简单的小例子,便于大家测试:

源代码:

digraph 1{

node[shape="record"];

edge[style="dashed"];

a[style="filled",color="red",fillcolor="chartreuse"];

b;

c;

d;

a ->b;

b ->d;

c ->d[color="green"];

d-> a;

}

到这里之后,如下的就是自己发挥空间,自己可以根据上面官网提供的代码进行学习。官网上面一些常

见的图形都涉及都了,其他的结合dot脚步语言学习。

3.      参考资料
网上很多资料,这里笔者推荐Graphviz中文教程指南,网上有下载,CSDN上面下载地址:

http://download.csdn.net/download/u010415192/9219945
========

图形化的各种数据结构模拟软件

http://download.csdn.net/download/newstudent_never/4550973
========

旧金山大学数据结构和算法的可视化学习工具

http://hao.jobbole.com/visualizing-algorithms-and-data-structure/
数据结构 , 旧金山大学 , 算法 3

理解复杂数据结构的最佳方法就是看它们的实际操作。旧金山大学计算机系的助理教授  David Galles

在 2011 年开发了一套用于学习数据结构和算法的交互工具。这个可视化工具是用 JavaScript 编写,

用上了 HTML5 画布元素,兼容所有现代浏览器。iPhone 和 iPad 等 iOS 设备和 Kindle 上的浏览器都

支持。

(编注:建议在非手机设备上使用,这个工具并不是自适应的,屏幕过小不利于操作和查看。)

如何使用

以链表队列为例,进入网页后,上方有一个操作按钮的工具栏。最左侧可输入队列元素,然后进行入队

(Enqueue)和出队(Dequeue)操作。

下方是另外一个操作按钮的工具栏,用于设置动画参数等操作。

Visualizing Algorithms

其他

这个工具的源码已公开,感兴趣的计算机课程教师,请参阅这个网页,然后可基于 David 的代码编写自

己的教程动画。

官方网站:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
========

数据结构学习工具总结相关推荐

  1. 算法与数据结构学习路线

    随着科学技术的发展,人工智能已经逐渐渗透到各个行业,这是一个相当有前景的专业领域. 其中,算法工程师这一职位更是非常火爆,在急缺大量人才的同时,也吸引了众多求职者,那么,初学者该如何学好算法呢? 算法 ...

  2. 2019软件测试学习教程(学习路线+课程大纲+视频教程+学习工具)

    软件测试行业不仅就业前景好,同时非常容易入门,对于新手和零基础学习者没有学习门槛,使得软件测试深得学生群体的喜爱和关注,同时也吸引了大批女同学转行从事程序员.接下来附上软件测试入门学习线路图以及学习视 ...

  3. 数据结构学习笔记(王道)

    数据结构学习笔记(王道) PS:本文章部分内容参考自王道考研数据结构笔记 文章目录 数据结构学习笔记(王道) 一.绪论 1.1. 数据结构 1.2. 算法 1.2.1. 算法的基本概念 1.2.2. ...

  4. 2023最新java学习教程(学习路线+课程大纲+视频教程+面试题+学习工具)

    2023最新java学习教程汇总(学习路线+课程大纲+视频教程+面试题+学习工具) 目录 一.首先要了解什么是JAVA? 二.Java发展及就业前景分析 三.Java学习路线图 四.Java课程大纲 ...

  5. 感谢博客园*暮夏*的系列文章--PHP一个重要的学习工具

    最近发的几篇文章均来自他的博客 没有经过他的同意 但是我在文章下面都标名了出处 如果有问题 还请及时与我联系. 这里再转载一篇他对PHP的看法的文章: php--一个重要的学习工具 在大学里面,计算机 ...

  6. 数据结构学习系列文章合集

    数据结构学习系列文章目录 前言 1.稀疏数组和队列 稀疏数组和二位数组的转换 数组队列的实现 环形队列的介绍与实现 2.链表 单链表的增.删.改.查 总结 前言 学习数据结构记录,作为自己的笔记,同时 ...

  7. 基于OpenCL的深度学习工具:AMD MLP及其使用详解

    from:http://www.csdn.net/article/2015-08-05/2825390 [编者按]深度学习是近年来迅速发展和突破的机器学习领域,具有非常广泛的应用前景.将服务器GPU应 ...

  8. 【杂谈】野生在左 科班在右——数据结构学习誓师贴

    [杂谈]野生在左 科班在右--数据结构学习誓师贴 一. 科班 Vs 野生 这个老生常谈的问题让很多野生码农觉得不公平,在一次次面试中因为学历和那些工作中根本就用不到的知识虐的一脸懵逼,然后除了抱怨什么 ...

  9. C语言数据结构学习用单元测试

    药物名称: C语言数据结构学习用单元测试 主治: 本品是基于CUnit编写的.全部的.纯C的数据结构(ADT)各种实现的单元测试.主治基础不牢,水品增长缓慢.建议配合严蔚敏<数据结构>(C ...

最新文章

  1. axure中图表背影_Axure 教程:动态图表——排名图
  2. 2021届图像/计算机视觉算法提前批的面经 | 附内推码
  3. blender 简单 uv 贴图
  4. Android给自定义按键添加广播和通过广播给当前焦点输入框赋值
  5. GO To Definition的背后操作【VS2015 C#】
  6. 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
  7. mysql8.0.22安装步骤图解_MySQL server 5.5的安装 步骤图解
  8. HTML+CSS+JS实现 ❤️swiper倾斜图片特效❤️
  9. 在没有导师的指导下,研究生如何阅读文献、提出创见、写出论文?
  10. [讨论] 全新首发WIN7 3264 WINSXS进一步精简批处理公测
  11. 怎么从视频文件中提取音频?
  12. Chango的数学Shader世界(十六)RayTrace三维分形(一)—— ue4中最简单的RayMarch
  13. [CAN BUS] USB-CAN adpter / USB转CAN 开源项目推荐(CANable candlelight cangaroo)
  14. matlab.m文件
  15. 使用Python根据视频链接下载MP4视频
  16. ”不怎么动的运动“塑造完美翘臀
  17. 简单,充实,幸福——2015-2016年终总结
  18. 这是我见过最接地气的PCB设计指南了!
  19. matlab神经网络工具箱实现两个输入的BP神经网络
  20. python主函数调用格式_Python的模块与函数

热门文章

  1. javascript等待异步线程完成_JavaScript 中的异步原理
  2. vue案例-计数器.html
  3. 软件设计原则——合成复用原则
  4. JSplitPane
  5. java构造函数经典详解
  6. 利用?和 ??简化界面的默认配置/自定义配置
  7. oracle 数据回滚,恢复误删的数据,闪回表功能的使用
  8. CTFshow 命令执行 web45
  9. Knn算法(约会问题应用)
  10. React Native封装Toast与加载Loading组件