用正交线绘制层次树(HV-Drawing – 二叉树)

Posted

技术标签:

【中文标题】用正交线绘制层次树(HV-Drawing – 二叉树)【英文标题】:drawing hierarchical tree with orthogonal lines ( HV-Drawing – Binary Tree) 【发布时间】:2011-02-23 06:20:40 【问题描述】:

我需要绘制一个层次树结构(HV-Drawing – 二叉树),在根和子之间使用正交线(直矩形连接线)(如下所示: http://lab.kapit.fr/display/visualizationlayouts/Hierarchical+Tree+layout )。 我想知道是否有类似的绘制树算法的开源示例,以便我可以在 actionscript 中实现相同的算法。 谢谢 帕拉什

【问题讨论】:

【参考方案1】:

我做了一个 C# 版本并将代码放在 CodeProject 上。它位于:

http://www.codeproject.com/KB/WPF/LayeredTreeDraw.aspx

有一个通用部分给出所有节点的位置和一个 WPF 特定实现,它实际上使用直线或您正在寻找的正交线绘制所有内容。

【讨论】:

【参考方案2】:

这是我的 Python 3 实现:GitLab(这是内部项目,需要 GitLab 注册)。

该程序仅包含一个文件,因此安装非常简单(克隆存储库并使用必要的参数运行hv-drawing.py)。 该存储库还包含一些用于绘图的图形示例。

代码注释很好,所以你可以学习算法的实现。

【讨论】:

以上是关于用正交线绘制层次树(HV-Drawing – 二叉树)的主要内容,如果未能解决你的问题,请参考以下文章

新2023Q2模拟题JAVA华为OD机试 - 二叉树层次遍历

1099 Build A Binary Search Tree [二叉搜索树/中序层次遍历]

二叉树总结树的遍历

二叉排序树查找所在层次 与判断是否为二叉排序树

Luogu1185 | 绘制二叉树(分治)

第04次作业-树