通过 tikz-qtree 分别影响二叉树中的左边缘和右边缘

通过 tikz-qtree 分别影响二叉树中的左边缘和右边缘

我想使用 tikz-qtree 制作一棵二叉树,其中左边缘为红色并标记为 0,而右边缘为黑色并标记为 1。以下是我目前正在执行的方式:

\documentclass{article}
\usepackage{tikz, tikz-qtree}
\begin{document}
\Tree[.a \edge[color=red] node[color=black, auto=right]{0};
             [.b \edge[color=red] node[color=black, auto=right]{0}; c \edge node[auto=left]{1}; d ]
         \edge node[auto=left]{1}; [.e \edge[draw=none]; {} \edge node[auto=left]{1}; f ] ]
\end{document}

该代码生成以下树:

在此处输入图片描述

(这应该用于更大的树,但这个代码已经够丑了。)有人能告诉我更好的方法吗?也欢迎提供使代码更具可读性的提示。

为了普遍性,我还对推广到 n 树(其中每个节点都有 n 个子节点)的解决方案感兴趣,尽管我目前还没有计划使用它。

我很高兴看到使用其他包的解决方案。

相关内容