定制 jihel/library-rbtree 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jihel/library-rbtree

Composer 安装命令:

composer require jihel/library-rbtree

包简介

A library to implement Red Black Tree

README 文档

README

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

1- Install

Add library to your composer.json require:

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

or

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.

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 :

4- Thanks

I inspired from the work of Gokce Toykuyu from the MIT. See his implementation

There is also some youtube video of a RB Tree at work who might interest you :

Thanks to me for giving my free time doing class for lazy developers.

You can access read CV here

统计信息

  • 总下载量: 9.06k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-10-29