Code Monkey home page Code Monkey logo

python-llist's Introduction

llist - linked lists for CPython

llist is an extension module for CPython providing basic linked list data structures. Collections implemented in the llist module perform well in problems which rely on fast insertions and/or deletions of elements in the middle of a sequence. For this kind of workload, they can be significantly faster than collections.deque or standard Python lists.

This extension requires CPython 2.5 or newer (3.x is supported). If you are looking for an implementation of linked lists in pure Python, visit http://github.com/rgsoda/pypy-llist/ The pypy-llist module has the same API as this extension, but is significantly slower in CPython.

Understanding Linked Lists Linked lists are an ordered collection of objects. So what makes them different from normal lists? Linked lists differ from lists in the way that they store elements in memory. While lists use a contiguous memory block to store references to their data, linked lists store references as part of their own elements.

Currently llist provides the following types of linked lists:

  • dllist - a doubly linked list
  • sllist - a singly linked list

Practical Applications: Linked lists serve a variety of purposes in the real world. They can be used to implement (spoiler alert!) queues or stacks as well as graphs. They’re also useful for much more complex tasks, such as lifecycle management for an operating system application.

Full documentation of these classes is available at: https://ajakubek.github.io/python-llist/index.html

To install this package, either run "pip install llist", or download it manually from http://pypi.python.org/pypi then unpack the sources and compile them with "python setup.py install".

The most current development version is available at: https://github.com/ajakubek/python-llist/

Bugs can be reported at: https://github.com/ajakubek/python-llist/issues

This software is distributed under the MIT license. Please see the LICENSE file included in the package for details.

Build Status

python-llist's People

Contributors

ajakubek avatar alexstennet avatar aaiyer avatar pahpa avatar priyanshiporwal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.