Tikz 中的递归树

Tikz 中的递归树

我正在尝试在 Tikz 中构建一个大型倒置树结构,如下所示(除了更大,并且理想情况下是递归的):

在此处输入图片描述

在这个树结构中,每条“线”由三个节点组成,每个节点都有一个父节点,即底部节点其他线。

是否可以以这样的方式递归地编写它,以便我可以轻松更改每行的节点数量(目前为 3)和最大行数(目前为 5)?

我使用以下代码手动生成了上图:

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[every node/.style={draw,shape=circle,fill=black}]

\node[fill=red] (A) at (0,0) {};
\node[fill=red] (B) at (0,1) {};
\node[fill=red] (C) at (0,2) {};

\draw (A) -- (B) (B) -- (C);

\node (D) at (2,1) {};
\node (E) at (2,2) {};
\node (F) at (2,3) {};

\draw (A) -- (D) (D) -- (E) (E) -- (F);

\node (G) at (-1,2) {};
\node (H) at (-1,3) {};
\node (I) at (-1,4) {};

\draw (B) -- (G) (G) -- (H) (H) -- (I);

\node (J) at (1,3) {};
\node (K) at (1,4) {};
\node (L) at (1,5) {};

\draw (C) -- (J) (J) -- (K) (K) -- (L);

\node (M) at (-2,3) {};
\node (N) at (-2,4) {};
\node (O) at (-2,5) {};

\draw (G) -- (M) (M) -- (N) (N) -- (O);

\end{tikzpicture}
\end{document}

相关内容