跳转到主要内容

C语言实现的Python链表模块

项目描述

cllist是为CPython提供的扩展模块,它提供了基本的链表数据结构。

在llist模块中实现的集合在依赖于快速插入、弹出和从序列中间删除元素的问题中表现良好。

对于这类工作负载,它们的性能可以比collections.deque或标准Python列表快得多。

此项目是从https://github.com/ajakubek/python-llist分叉的

并为原始版本添加了许多功能和改进,并以新名称“cllist”发布。

现在的cllist版本位于https://github.com/kata198/python-cllist

如果您之前使用的是该模块,您可以切换到这个新模块,它是完全向后兼容的(但不是向前兼容)。

单链表

“sllist”模块提供了单链表。这是您的基本单链表,可能在某些场景中很有用。

单链表在所有方面都比双链表实现效率低。

双链表

“dllist”模块提供了双链表。

当在随机位置(中间)或两端进行弹出和插入操作时,这提供了出色的性能。

通过实现“中间”标记来增强了此实现。

当列表大小超过10个元素时,使用此“中间”标记,并且在涉及遍历列表的所有操作中使用它,

这确保最多需要遍历N/4个元素(因此计算并从任意起点、中间或终点开始遍历最短距离)。

此附加功能使此链表在大型数据集上比标准双链表实现更有效率。

为什么使用链表?

当您将在数据集中间添加或删除元素时,应使用链表。标准Python列表在发生此类操作时将强制整个列表重新分配和复制,而此方法可以不进行重新分配即可完成。

文档

文档可在以下位置找到: https://pythonhosted.org/cllist/

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

cllist-1.1.0.tar.gz (46.4 kB 查看哈希值)

上传时间 源代码

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面