YmDataTree
Installation
gem 'ym_data_tree'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ym_data_tree
Usage
In Order Traversal Example
require 'ym_data_tree'
tree = YmDataTree::Tree.new
datas = [10,6,8,5,12,11,15]
datas.each do |data|
tree.insert(data)
end
#Then Traverse The Tree
tree.in_order_traversal(tree.root)
print in_order_traversal_datas = tree.getDatas
#->[5,6,8,10,11,12,15]
Pre Order Traversal Example
require 'ym_data_tree'
tree = YmDataTree::Tree.new
datas = [10,6,8,5,12,11,15]
datas.each do |data|
tree.insert(data)
end
tree.pre_order_traversal(tree.root)
print pre_order_traversal_datas = tree.getDatas
#-> [10,6,5,8,12,11,15]
Post Order Traversal Example
require 'ym_data_tree'
tree = YmDataTree::Tree.new
datas = [10,6,8,5,12,11,15]
datas.each do |data|
tree.insert(data)
end
tree.post_order_traversal(tree.root)
print post_order_traversal_datas = tree.getDatas
#-> [5,8,6,11,15,12]
Contributing
Bug reports and pull requests are at https://github.com/ismetsezer/ym_data_tree.
License
The gem is available as open source under the terms of the MIT License.