grscheller.datastructures

### package datastructures


Keywords
datastructures, data, structures, fifo, lifo, stack, queue, SplitEnd, data-structures, functional-programming, python
License
Apache-2.0
Install
pip install grscheller.datastructures==0.10.9

Documentation

Python Datastructures Useful for Algorithms

Python package of data structures which support the use and implementation of algorithms.

Overview

Data structures allowing developers to focus on the algorithms they are using instead of all the "bit fiddling" required to implement behaviors, perform memory management, and handle coding edge cases. These data structures allow iterators to leisurely iterate over inaccessible copies of internal state while the data structures themselves are free to safely mutate. They are designed to be reasonably "atomic" without introducing inordinate complexity. Some of these data structures allow data to be safely shared between multiple data structure instances by making shared data immutable and inaccessible to client code.

  • functional & imperative programming styles supported
    • functional programming encouraged
    • project endeavors to remain Pythonic
      • methods which mutate objects don't return anything
        • like Python lists
      • in caparisons identity is considered before equality
        • like Python builtins

Sometimes the real power of a data structure comes not from what it empowers you to do, but from what it prevents you from doing to yourself.