明白了,你想用 TikZ 在 LaTeX 中绘制 二叉树。下面我给你整理一个完整的示例和步骤说明。
一、基本 TikZ 二叉树示例
\documentclass[tikz,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{tikzpicture}[
level distance=1.5cm,
level 1/.style={sibling distance=4cm},
level 2/.style={sibling distance=2cm},
every node/.style={circle, draw}
]
\node {A} % 根节点
child {node {B}
child {node {D}}
child {node {E}}
}
child {node {C}
child {node {F}}
child {node {G}}
};
\end{tikzpicture}
\end{document}
说明:
\usetikzlibrary{trees}
:加载树结构绘制库level distance
:控制层高sibling distance
:控制兄弟节点间距every node/.style={circle, draw}
:每个节点画圆圈child {node {...}}
:定义子节点
二、带文字标签和颜色的二叉树
\begin{tikzpicture}[
level distance=2cm,
level 1/.style={sibling distance=5cm},
level 2/.style={sibling distance=2.5cm},
every node/.style={rectangle, draw, rounded corners, fill=blue!20}
]
\node {Root}
child {node {Left}
child {node {Left.Left}}
child {node {Left.Right}}
}
child {node {Right}
child {node {Right.Left}}
child {node {Right.Right}}
};
\end{tikzpicture}
特点:
- 节点用矩形表示,带圆角和颜色
- 可根据需要修改节点样式、填充色、文本大小
三、可扩展技巧
- 加边权
child {node {B} edge from parent node[left] {3}}
- 调整水平/垂直间距
level distance=2cm
控制层高sibling distance=3cm
控制兄弟节点间距
- 自定义节点形状
circle
,rectangle
,ellipse
,diamond
等
- 绘制非完全二叉树
- 省略某些子节点即可,TikZ 会自动调整布局
发表回复