MrP*_*per 6 algorithm tree visualization
树数据结构可视化是否有一些算法?我试过谷歌搜索,但无法找到任何.我很确定必须有一些算法,而不是那么简单的任务.或者任何人都有一些想法?
假设:您希望显示每个节点,使其在子节点上方居中.
为此,计算每个节点的宽度,我将其定义为显示此节点的整个子树所需的水平空间量,使其不与其左侧或右侧兄弟树的子树重叠.
这导致:
width = 1 + sum(widths of children's nodes)
Run Code Online (Sandbox Code Playgroud)
因此,通过树进行深度优先遍历来计算每个节点的宽度.要显示,请执行广度优先遍历以逐级绘制树级别.
这是如何去做的粗略想法.您可能需要根据要渲染树的详细信息来调整宽度计算.