PHP Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
benchmarks
examples
src/SortedCollection
tests
utility
.gitignore
.travis.yml
README.md
TODO
build.xml
cite.bib
composer.json
phpdoc.dist.xml
phpunit.xml.dist

README.md

PHP Sorted Collections

Flattr this git repo Travis Coveralls Scrutinizer Dependency Status Latest Stable Version Packagist Latest Unstable Version License

Sorted Collection for PHP. Insertion, search, and removal compute in log(n) time where n is the number of items present in the collection. It uses AVL threaded tree [see @Knuth97, 1:320, Sect. 2.3.1] as internal structure.

@Knuth97: Donald E. Knuth, The Art of Computer Programming, Addison-Wesley, volumes 1 and 2, 2nd edition, 1997.

This project uses:

Installation

Using composer: either

$ composer create-project chdemko/sorted-collections:1.0.*@dev; cd sorted-collections

or create a composer.json file containing

{
    "require": {
        "chdemko/sorted-collections": "1.0.*@dev"
    }
}

and run

$ composer install

Create a test.php file containg

<?php
require __DIR__ . '/vendor/autoload.php';

use chdemko\SortedCollection\TreeMap;

$tree = TreeMap::create()->put(
    [1=>1, 9=>9, 5=>5, 2=>2, 6=>6, 3=>3, 0=>0, 8=>8, 7=>7, 4=>4]
);
echo $tree . PHP_EOL;

This should print

[0,1,2,3,4,5,6,7,8,9]

See the examples folder for more information.

Documentation

Citation

If you are using this project including publication in research activities, you have to cite it using (BibTeX format). You are also pleased to send me an email to chdemko@gmail.com.

All releases can be found here