在 TikZ 中创建 Trie 树

在 TikZ 中创建 Trie 树

我正在编写一个 Java 应用程序,使用 TikZ 为 Latex 生成尝试。

我正在努力排版字典树请按照以下示例操作:

例子

有人可以提供一个如何正确嵌套子节点和相应标签的例子吗?

我现在得到的是:

\begin{tikzpicture}
\node [circle] {}
    child{ node [circle] {} edge from parent node[above left] {$B$} }
    child{ node [circle] {} edge from parent node[above left] {$F$}
            child [circle] {}
        }; 
\end{tikzpicture}

但边缘标签与正确边缘不匹配。

答案1

实际上,有许多问题的答案都标记了边缘......

这可能会给你一些想法:

\documentclass[tikz]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
  circle,
  black,
  draw,
  fill=blue!40,
}
  [{}
    [{}, edge label={node [midway, above left] {B}}
      [{}, edge label={node [midway, right] {A}}
        [{}, edge label={node [midway, right] {U}}
          [,phantom]
          [{}, edge label={node [midway, left] {E}}
            [{}, edge label={node [midway, left] {R}}, label=below:Bauer
            ]
            [,phantom]
          ]
          [{}, edge label={node [midway, right] {M}}, label=below:Baum
          ]
          [,phantom]
        ]
        [,phantom]
      ]
      [,phantom]
    ]
    [{}, edge label={node [midway, right] {F}}
      [{}, edge label={node [midway, right] {E}}
        [{}, edge label={node [midway, right] {L}}
          [{}, edge label={node [midway, right] {D}}, label=below:Feld
          ]
          [,phantom]
        ]
        [,phantom]
      ]
      [,phantom]
    ]
    [{}, edge label={node [midway, left] {H}}
      [{}, edge label={node [midway, left] {A}}
        [{}, edge label={node [midway, left] {H}}
          [{}, edge label={node [midway, left] {N}}, label=below:Hahn
          ]
          [,phantom]
        ]
        [{}, edge label={node [midway, right] {U}}
          [{}, edge label={node [midway, left] {S}}, label=below:Haus
          ]
          [,phantom]
        ]
        [,phantom]
      ]
      [{}, edge label={node [midway, left] {O}}
        [{}, edge label={node [midway, right] {F}}, label=below:Hof
        ]
      ]
      [{}, edge label={node [midway, right] {U}}
        [,phantom]
        [{}, edge label={node [midway, left] {H}}
          [{}, edge label={node [midway, right] {N}}, label=below:Huhn
          ]
        ]
        [{}, edge label={node [midway, right] {N}}
          [,phantom]
          [{}, edge label={node [midway, right] {D}}, label=below:Hund
          ]
        ]
      ]
    ]
    [{}, edge label={node [midway, above right] {K}}
      [,phantom]
      [{}, edge label={node [midway, right] {A}}
        [,phantom]
        [{}, edge label={node [midway, right] {T}}
          [,phantom]
          [{}, edge label={node [midway, right] {Z}}
            [,phantom]
            [{}, edge label={node [midway, right] {E}}, label=below:Katze
            ]
          ]
        ]
      ]
    ]
  ]
\end{forest}
\end{document}

森林树

相关内容