>>> from treenode import TreeNode
>>> root = TreeNode(attr_1 = 1, attr_2 = 2)
>>> root
TreeNode:
parent: none
children: 0
attr_2: 2
attr_1: 1
>>> #connect a child to root
>>> child = TreeNode(attr_3 = 3, attr_4 = 4)
>>> root.graft_child(child)
>>> root
TreeNode:
parent: none
children: 1
attr_2: 2
attr_1: 1
>>> child
TreeNode:
parent: yes
children: 0
attr_3: 3
attr_4: 4
Store data in easy to use nodes that provide both data storage and tree behavior.
It supports various tree operations such as:
- separating and combining trees (automatically avoids creating cycles)
- traversing the nodes in-order or post-order
- access up or down through doubly-linked parent/child
I have used it in several projects where I needed storage of iterative simulation data.
It is currently being reimplemented from old code so there is a lot of missing functionality.
Copyright (c) 2012 John Nieri and contributors under MIT License. See LICENSE in this repository or distribution for details.