Sorted Collections for PHP
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks
docs
examples
src/SortedCollection
tests
.gitignore
.travis.yml
LICENSE
README.md
cite.bib
composer.json
phpbench.json
phpunit.xml.dist
ruleset.xml

README.md

PHP Sorted Collections

Flattr this git repo Travis Documentation Status Coveralls Scrutinizer PHP versions 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:

Instructions

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

Run also

$ [sudo] pip install [--user] -r docs/requirements.txt

if you want to create local documentation.

Create a test.php file containg

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 and benchmarks folder for more information.

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