Packages

NaryTree implements the data structure for n-ary tree (also called rose tree), where each node in the tree can have zero or more children. NaryTree provides methods for traversal and manipulation of the tree structure and node contents.

Current section

Files

Jump to
nary_tree README.md
Raw

README.md

# nary_tree
NaryTree is a pure Elixir implementation of the generic tree data structure. NaryTree implements a data structure for an n-ary tree in which each node has zero or more children. A node in a tree can have arbitrary number of children and depth. Trees are unbalanced and children unordered.
It provides a node-based model to store named nodes in the tree, and provides simple APIs to access, modify and traverse the structure.
Currently only depth-first tree-traversal method is supported.
The library implements Enumerable protocol to allow access to the tree using standard Enum functions (map, reduce, count, etc)
NaryTree supports importing from, and exporting to Map.
This is a MIT licensed open source project, and is hosted at github.com/medhiwidjaja/nary_tree, and is available as a standard Hex package from [hex.pm](https://hex.pm/packages/nary_tree).
View documentation at [hexdocs.pm](https://hexdocs.pm/nary_tree/)