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/找到