Skip to content
An Elixir implementation of generic n-ary tree data structure
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
deps Directury restructured Aug 27, 2018
lib Add LICENSE Sep 19, 2018
test More tests Aug 31, 2018
.DS_Store Clean out repo Sep 3, 2018
.gitignore Update mix and docs Sep 17, 2018
LICENSE Add LICENSE Sep 19, 2018 Hexdocs link Sep 17, 2018
mix.exs Update documentations Sep 19, 2018
mix.lock Tree to and from map Sep 2, 2018


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, and is available as a standard Hex package from

View documentation at

You can’t perform that action at this time.