树数据结构可视化有一些算法吗?我尝试了谷歌搜索,但没有找到任何。我很确定这不是那么简单的任务必须有一些算法。或者任何人有一些想法?树可视化算法
Q
树可视化算法
5
A
回答
7
假设:您希望显示每个节点,使其位于其子节点上方。
为了达到此目的,计算每个节点的宽度,我将其定义为显示此节点的整个子树所需的水平空间量,使其不会与其左侧或右侧兄弟的子树重叠。
这导致:
width = 1 + sum(widths of children's nodes)
所以,做一个深度优先遍历整个树来计算每个节点的宽度。要显示,请先进行宽度优先遍历,逐级绘制树。
这是如何去做的大概想法。您可能想调整宽度计算,具体取决于您想要渲染树的细节。
1
例如,您可以使用DOT语言和graphviz。
3
Tree-mapping可能是你在找什么。 Graphviz适用于可视化不专门用于树结构的图形结构。我再也找不到它了,但是我记得在一篇科学文章中读到过,treemaps(我认为voronoi)最适合表示树结构,关于它们消耗的位置和区域可以用来表示某个单位(比如字节大小例)。
Here是一些替代方案。
Here是关于该主题的文章和其他信息的良好列表。
0
您还可以从左到右打印树,即最左侧的根,第一级右侧的树等等。你会发现树上印有每个级别的“自己的专栏”。该算法有点像这样:
print(node, spaces):
if node has left child:
print(left_child, spaces + ' ')
print spaces + node + '\n'
if node has right child:
print(right_child, spaces + ' ')
该算法将每行打印一个树节点。树的每个级别都会被一些空格向右缩进。此算法将按升序打印项目,但可以通过首先处理正确的小孩来实现降序。
相关问题
- 1. Splay树可视化
- 2. 沙漏可视化算法
- 3. C#的算法可视化#
- 4. 树可视化和动画
- 5. 在c中树可视化#
- 6. 树可视化libgraphviz /点
- 7. 决策树可视化
- 8. 树结构可视化
- 9. AVL树可视化c#
- 10. 可视化树数据
- 11. 构建树视图算法
- 12. 如何做算法可视化?
- 13. 开发算法可视化/模拟
- 14. 用于可视化算法的工具
- 15. 数据可视化算法书籍
- 16. 用matplotlib调度算法的可视化
- 17. 如何可视化算法的步骤
- 18. C可视化算法工具?
- 19. 可视化节点树(?斥力)
- 20. Mercurial修订版树的可视化
- 21. 决策树与SKlearn和可视化
- 22. 榆树快速排序的可视化
- 23. 可视化树 - 在内容等于
- 24. 导航WPF中的可视化树
- 25. 从* .dot文件中可视化树
- 26. VS中对象树的可视化
- 27. 交互树可视化使用的wxPython
- 28. Android树形图可视化为目录?
- 29. WPF - 可视化树不用于绘图?
- 30. 在VS2008中可视化树木
你在找什么像Graphviz? http://www.graphviz.org/ –
你确定你正在寻找一种算法或服务来显示它吗? – Duniyadnd
我必须在我的项目中可视化树,因此我需要算法。 – MrProper