LaTeX应用画个树形结构,二叉树

Posted 计算机科学实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LaTeX应用画个树形结构,二叉树相关的知识,希望对你有一定的参考价值。



LaTeX的功能非常强大,在排版过程中,有时候需要画一些图像辅助,而LaTeX就提供了这个功能。

        在tikz下直接绘制树形结构图,在《数据结构》等课程中非常实用,下面是

以二叉树为例,还可以画出多种其他的树形结构,子树的个数可以控制,箭头的方向也可以更改        




   下面是实现的主要代码部分,代码中的语法就不一一解释了,语法都很简单,代码直接可以使用

\begin{tikzpicture}[->,>=stealth,level/.style={sibling distance = 5cm/#1, level distance = 1.5cm}, treenode/.style = {align=center, inner sep=0pt, text centered,font=\sffamily}, arnn/.style = {treenode, circle, white, font=\sffamily\bfseries, draw=black, fill=black, text width=1.5em}, arnr/.style = {treenode, circle, red, draw=red, text width=1.5em, very thick}, arnx/.style = {treenode, rectangle, draw=black, minimum width=2em, minimum height=1em}]  \node [arnn] {33} child{ node [arnr] {15}  child{ node [arnn] {10}  child{ node [arnr] {5} edge from parent node[above left] {$x$}} %for a named pointer % child{ node [arnx] {}} } child{ node [arnn] {20} child{ node [arnr] {18}} child{ node [arnx] {}} }  } child{ node [arnr] {47} child{ node [arnn] {38}  child{ node [arnr] {36}} child{ node [arnr] {39}} } child{ node [arnn] {51} child{ node [arnr] {49}} child{ node [arnx] {}} } } ;  \end{tikzpicture}

       可能还需要在导言区添加的是

\usepackage{tikz}\usetikzlibrary{chains,scopes,positioning,backgrounds,shapes,fit,shadows,calc,arrows.meta}\RequirePackage{amsmath,mathrsfs,amsfonts,amssymb}

更多关于树形结构的实现方式,可以参考小编博客中方法,这里不再赘述。




以上是关于LaTeX应用画个树形结构,二叉树的主要内容,如果未能解决你的问题,请参考以下文章

输出二叉树树形的数据结构程序代码怎么写

二叉树的树形结构打印

数据结构 Java数据结构 二叉树

二叉树

树形结构-树和二叉树(哈夫曼树)

Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结