2017 © Pedro Peláez
 

library library-rbtree

A library to implement Red Black Tree

image

jihel/library-rbtree

A library to implement Red Black Tree

  • Thursday, October 29, 2015
  • by Jihel
  • Repository
  • 1 Watchers
  • 2 Stars
  • 1,424 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 1 Versions
  • 11 % Grown

The README.md

Jihel's RB Tree PHP implementation

PHP OOP implementation of Red Black Tree. You can found information about this kind of binary search tree on wikipedia., (*1)

1- Install

Add library to your composer.json require:, (*2)

{
    "require": {
        "jihel/library-rbtree": "dev-master",
    }
}

or, (*3)

php composer.phar require jihel/library-rbtree

2- Usage

a) Create a tree:

use Jihel\Library\RBTree\Tree as Tree;
$tree = new Tree();

b) Create a node:

$node = new Jihel\Library\RBTree\Node(1, 'My value');
$tree->insert($node);

c) Delete a node:

$tree->remove($node);

Please note that the var $node is not deleted, the object still exist but is detached from the tree., (*4)

d) Find a node:

$node = $tree->find(1);

e) Find a node relative to another:

$next = $tree->findRelative($node, Jihel\Library\RBTree\Model\NodeInterface::POSITION_RIGHT);
// or
$next = $tree->findSuccessor($node);

f) Enumerate nodes between a min and max

$list = $tree->enumerate(1, 12);

You can look at exemples for a simple implementation with integer nodes :, (*5)

4- Thanks

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)

The Versions

29/10 2015

dev-master

9999999-dev

A library to implement Red Black Tree

  Sources   Download

MIT

The Requires

  • php >=5.4

 

by Joseph Lemoine