chdemko/sorted-collections

PHP >= 8.2 的有序集合

1.0.10 2024-08-04 14:31 UTC

README

PHP package Coveralls Scrutinizer Code Climate CodeFactor Codacy PHP versions Latest Stable Version Downloads Latest Unstable Version License Last commit Documentation Status Repo Size Code Size

PHP 的有序集合。插入、搜索和删除操作在 log(n) 时间内完成,其中 n 是集合中元素的数量。它使用 AVL 线索树 [参见 @Knuth97,1:320,第 2.3.1 节] 作为内部结构。

@Knuth97:Donald E. Knuth,《计算机编程艺术》,Addison-Wesley,第 1 卷和第 2 卷,第 2 版,1997 年。

此项目使用

说明

使用 composer:或者

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

或者创建一个包含以下内容的 composer.json 文件

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

然后运行

$ composer install
Loading composer repositories with package information
...

创建一个包含以下内容的 test.php 文件

<?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;

然后运行

$ php test.php
[0,1,2,3,4,5,6,7,8,9]

请参阅 示例基准测试 文件夹以获取更多信息。

文档

运行

$ sudo apt install doxygen python3-pip python3-virtualenv
$ virtualenv venv
$ venv/bin/activate
(venv) $ pip install -r docs/requirements.txt
(venv) $ sphinx-build -b html docs/ html/
(venv) $ deactivate
$

如果您想使用 Sphinx 创建本地文档。

引用

如果您在研究活动中使用此项目,包括发表出版物,您必须使用 (BibTeX 格式) 进行引用。您也可以发送电子邮件到 chdemko@gmail.com

所有版本都可以在此找到 这里