支持高级操作的快速可寻址优先级队列
apq的Python项目详细描述
apq公司
apq
实现可寻址优先级队列数据的不同变体
可从python3项目导入的结构。在
该项目旨在提供运行时高效的优先级实现 队列,同时保持实际使用和维护一个清晰的代码库。在
- 在
由{{CD1>}提供的所有优先级队列都由C++二进制堆支持 实施。实现了向Python公开的优先级队列类型 在赛顿。在
在 - 在
在apq
在所有公共平台上没有安装或运行时依赖关系。 {STR 1 } $注:平台上需要编译器和基本C++头文件 没有apq
的二进制分布。在 - 在
类型存根与包一起安装,以便mypy可以完全 检查从属代码。在
在
优先级队列类型
这些优先级队列使用64位浮点作为优先级值(value
)
与FIFO语义相同的value
。注意:64位浮点
可以表示54位有符号整数。在
- 在
在AddressablePQ
-未实现。此优先级队列公开 以Item
其条目形式的持久引用。通过Item
, 条目的value
可以更改,也可以删除任意条目 来自PQ。在 - 在
在KeyedPQ
-此优先级队列允许通过字符串查找条目 钥匙。这意味着它将可寻址优先级队列与 字典,创建str
到项的映射(几乎实现typing.Mapping[str, KeyedItem]
)。^无论何时,建议使用{} 使用一个键查找单个条目。在 - 在
在SimplePQ
-未实现。此优先级队列是不可寻址的 可寻址PQ的变体。SimplePQ
当快速PQ 必需的,只能通过add()
和pop()
进行修改。在
快速启动
安装:
$ pip install apq
用法:
^{pr2}$版本和兼容性
apq
使用semantic versioning派生
释放。使用apq
文档化的公共API的代码将继续工作
所有未来版本的apq
都与API兼容。API兼容性
通过版本标识符的主要组件指示。在
apq
目前正在积极开发/测试中。突破性的变化
将出现公共接口。Beta版本通过
版本标识符的主要组件,例如0.10.0
。在
为了鼓励在beta期间使用,apq
将语义版本控制扩展到beta
发布如下:从0.10.0
起,API兼容性得到保证
{cd27>释放相同的值。E、 g.0.17.3
是
API与0.10.1
兼容。在
依赖包应该使用这个语义来指定版本
约束,例如apq >= 0.11.1, < 0.20.0
(c.f.PEP 508)。钉扎
仍然推荐用于应用程序,例如使用Poetry或
Pipenv。在
apq
的目标是在Python的所有活动版本上完全工作。python3.5不是
目前支持Python发布的信息。Python Developer's Guide中描述
有关Development Cycle页的详细信息。在
分配
apq
通过PyPi分布。PyPi ^{pip install apq
将自动检测最合适的分布。在
TODO:机器平台和操作系统、Python实现和版本表 哪个轮子是造的。在
- 项目
标签: