python的c实现链表模块

cllist的Python项目详细描述


cllist是cpython提供基本链表的扩展模块 数据结构。

在llist模块中实现的集合在问题中表现良好 它依赖于快速的插入、持久性有机污染物和去除 序列的中间部分。

对于这种工作负载,它们可以比 collections.deque或标准python列表。

这个项目是由https://github.com/ajakubek/python-llist

并在原来的基础上添加了许多特性和增强功能,新名称为“cllist”。

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

如果使用的是上一个模块,则可以更改为此新模块,它完全向后(而不是向前)兼容。

单链表

单链表由“sllist”模块提供。这是基本的单链接列表,可能对某些场景有用。

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

双链接列表

“dllist”模块提供了一个双链接列表。

在随机(中间)或任意一端执行pop和insertion时,这提供了很好的性能。

这个实现通过实现一个“中间”标记得到了增强。

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

这样可以确保最多有N/4个元素需要步行(因此计算从开始、中间或结束的最短距离,并从那里步行)。

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

为什么使用链表?

在数据集中添加或删除元素时,应使用链接列表。标准python列表强制执行整个列表 在发生这种情况时重新分配和复制,而这可以在不重新分配的情况下这样做。

文件

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java集合属性值   java字符串==运算符是否比较引用?   java是否存在过太多的ListView或适配器?   json获取java中类路径中下载的文件   我可以用java代码解决数据库并发问题吗?   在多个线程中使用forEach()或使用forEach()和lambdas进行java集合迭代   java输出JFrame中的整个循环   java禁用高度详细的日志记录   java在没有特定属性的对象中访问模型的值   java Smack xmpp建立连接   处理过时域对象引起的并发问题的java策略(Grails/GORM/Hibernate)   java从ObservableList中提取元素   使用图像进行java相似图像搜索   java ListView和图像:我快疯了   在Java中,如何从毫秒时间戳中提取一天的周期?   java我需要这样的设计,但我面临两个问题   java如何获取JGoodies FormLayout中的单元格大小   Spring引导生成的java War文件未部署到Weblogic 12c