二叉树布局删除重复的分支

二叉树布局删除重复的分支

我想要做的是绘制一棵在每一层上大小加倍的树,所以我认为二叉树是正确的解决方案,截至目前,我有以下代码:

\documentclass[a4paper, 12pt]{article}

\usepackage{longtable}
\usepackage{booktabs}

\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing,arrows.meta}
\usegdlibrary{trees}

\begin{document}
    \title {
        Homework One\\
        \large COMP20180-Intro to Operating Systems}
    \author{}
    \date{\today}
    \maketitle

    \section{}
        \begin{tikzpicture}[>=stealth]
            \graph [binary tree layout] {
                4 -> {
                    3 -> {
                        2 -> {
                            1 -> {
                                0, 0
                            }
                        }
                    }
                }
            };
        \end{tikzpicture}
\end{document}

唯一的问题是 tikz 不喜欢绘制最后一个重复的分支。我发现的唯一解决方法是将其更改为其他内容,但这显然对我来说不起作用。

答案1

经过一些测试,我发现 a用作graph,因此两个节点不可能具有相同的内容,因为它们被解释为同一个节点。node contentsnode names

如果要将相同的内容“写入”树的不同节点,则需要为每个节点赋予特定的名称并使用as选项来分配内容。

这是我的第一次尝试,graphdrawing所以我可能错了,但这对我有用:

\documentclass[a4paper, 12pt]{article}

\usepackage{longtable}
\usepackage{booktabs}

\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing,arrows.meta}
\usegdlibrary{trees}

\begin{document}
    \title {
        Homework One\\
        \large COMP20180-Intro to Operating Systems}
    \author{}
    \date{\today}
    \maketitle

    \section{}
        \begin{tikzpicture}[>=stealth]
            \graph [binary tree layout] {
                4 -> 3->2->1->{0,"0right"[as=0]}
            };
        \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容