crimson-nynja / php-trees
PHP implementation of various Trees
Requires
- php: >=8.1.0
Requires (Dev)
- phpunit/phpunit: ^9
README
This repo is designed to have all common trees used in an easy to use php way
Current included are implementations of a Binary Search Tree, Rope, Binary Heap, and a Generic Tree, with more to come!
All tests are written in PHP Unit, and all code is written in the PSR-4 standards. Php Trees also requires PHP 8.1.0 or above, and utilizes all modern features of PHP.
PHP Trees can be installed through composer with
composer require crimson-nynja/php-trees
https://packagist.org/packages/crimson-nynja/php-trees
Usage
To use the binary search tree, include the correct file and create it as such
use PhpTrees\BinarySearchTree; $b = new BinarySearchTree(rootValue: 5); // This will create a binary search tree with a root of the value 5
To use the Rope
use PhpTrees\Rope; $r = new Rope(string: "This is a Rope!"); // This will create a Rope with the initial string, "This is a Rope!"
To use the Binary Heap
use PhpTrees\BinaryHeap; $h = new BinaryHeap(); // This will create an empty binary heap
To use the Generic Tree
use PhpTrees\GenericTree; $g = new GenericTree(rootValue: 4.1); // This will create a generic tree with root 4.1
For a more detailed description of the features of PHP Trees, check out the wiki
https://github.com/CrimsonNynja/PHP-Trees/wiki
Coming up
tree balancing options
2-3 tree
B-Tree
search/traversal types (depth first search breadth first search, etc)