A library to implement Red Black Tree
PHP OOP implementation of Red Black Tree. You can found information about this kind of binary search tree on wikipedia., (*1)
Add library to your composer.json require:, (*2)
{ "require": { "jihel/library-rbtree": "dev-master", } }
or, (*3)
php composer.phar require jihel/library-rbtree
use Jihel\Library\RBTree\Tree as Tree; $tree = new Tree();
$node = new Jihel\Library\RBTree\Node(1, 'My value'); $tree->insert($node);
$tree->remove($node);
Please note that the var $node is not deleted, the object still exist but is detached from the tree., (*4)
$node = $tree->find(1);
$next = $tree->findRelative($node, Jihel\Library\RBTree\Model\NodeInterface::POSITION_RIGHT); // or $next = $tree->findSuccessor($node);
$list = $tree->enumerate(1, 12);
You can look at exemples for a simple implementation with integer nodes :, (*5)
I inspired from the work of Gokce Toykuyu from the MIT. See his implementation, (*6)
There is also some youtube video of a RB Tree at work who might interest you :, (*7)
Thanks to me for giving my free time doing class for lazy developers., (*8)
You can access read CV here, (*9)