Displaying 1 to 20 from 49 results

pyrsistent - Persistent/Immutable/Functional data structures for Python

  •    Python

Pyrsistent is a number of persistent collections (by some referred to as functional data structures). Persistent in the sense that they are immutable. All methods on a data structure that would normally mutate it instead return a new copy of the structure containing the requested updates. The original structure is left untouched.

cosmos - Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter | Ask us anything at our forum

  •    C++

Cosmos is your personal offline collection of every algorithm and data structure one will ever encounter and use in a lifetime. This provides solutions in various languages spanning C, C++, Java, JavaScript, Swift, Python, Go and others. This work is maintained by a community of hundreds of people and is a massive collaborative effort to bring the readily available coding knowledge offline.

Data-Structures-and-Algorithms - Data Structures and Algorithms implementation in Go

  •    Go

There are several data structures and algorithms implemented in this project. The list will be replenished with time. The library is not intended for direct use by importing. We strongly recommend copying the necessary implementations and adjusting to your case.




algorithms_and_data_structures - 180+ Algorithm & Data Structure Problems using C++

  •    C++

Note: Some of the code here is old and was written when I was learning C++. It might be possible that code is not safe or making wrong assumptions. Please use with caution. Pull requests are always welcome. Include contains single header implementation of data structures and some algorithms.

schematics - Python Data Structures for Humans™.

  •    Python

Python Data Structures for Humans™. Schematics is a Python library to combine types into structures, validate them, and transform the shapes of your data based on simple descriptions.

golang-set - A simple set type for the Go language. Also used in Docker.

  •    Go

The missing set collection for the Go language. Until Go has sets built-in...use this.I have to give some credit for helping seed the idea with this post on stackoverflow.


treelib - An efficient implementation of tree data structure in python 2/3.

  •    Python

Tree implementation in python: simple to use for you. Brett Alistair Kromkamp (brettkromkamp@gmail.com): Post basic idea online.

bloom-filter-scala - Bloom filter for Scala, the fastest for JVM

  •    Scala

"A Bloom filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not. In other words, a query returns either "possibly in set" or "definitely not in set". Elements can be added to the set, but not removed," says Wikipedia. Warning: These are synthetic benchmarks in isolated environment. Usually the difference in throughput and latency is bigger in production system because it will stress the GC, lead to slow allocation paths and higher latencies, trigger the GC, etc.

kwstruct - Struct with keyword arguments support

  •    Ruby

Just like regular Struct, but uses keyword arguments. Any non-existent arguments will raise an ArgumentError.

lens - A utility for working with nested data structures.

  •    Elixir

A utility for working with nested data structures. Take a look at Nested data structures with functional lenses for a gentler introduction. In 0.6.0 the function Lens.get got removed. The reason was that it was very easy to create a bug where a list was treated as a single element or vice-versa. Wherever you used Lens.get you now should either use Lens.one! if the invocation should always return exactly one element (this will crash if there is any other number of elements) or Lens.to_list and match on the result if you want to behave differently for different numbers of elements.

bidict - Efficient, Pythonic bidirectional map data structures and related functionality.

  •    Python

Efficient, Pythonic bidirectional map implementation and related functionality. For more usage documentation, head to the intro [1] and proceed from there.

Algorithms - Data Structures & Algorithms

  •    Ruby

This is repository of data structures and algorithms written in JavaScript and Ruby. Some of the algorithms are from Cracking the Coding Interview by Gayle Laakmann McDowell . Contributions are welcome! Please read the Contributing guidelines and the Code of Conduct on how to contribute. This project is Licensed under the MIT License.

roaringbitmap - Roaring Bitmap in Cython

  •    Python

A roaring bitmap is an efficient compressed datastructure to store a set of integers. A Roaring bitmap stores a set of 32-bit integers in a series of arrays and bitmaps, whichever takes the least space (which is always 2 ** 16 bits or less). This datastructure is useful for storing a large number of integers, e.g., for an inverted index used by search engines and databases. In particular, it is possible to quickly compute the intersection of a series of sets, which can be used to implement a query as the conjunction of subqueries.

leafy - a library of different tree implementations that can be used in both the browser and node

  •    Javascript

leafy is a library of different tree implementations. leafy can be used in both the browser and node. Why would I need a tree in javascript? I have arrays and objects.

fuggetaboutit - implementations of a counting bloom, a timing bloom and a scaling timing bloom

  •    Python

What does this mean? Well... it means you can have a rolling window view on unique items in a stream (using the TimingBloomFilter object) and also have it rescale itself when the number of unique items increases beyond what you had anticipated (using the ScalingTimingBloomFilter). And, since this is built on bloom filters, the number of bits per entry is generally EXCEEDINGLY small letting you keep track of many items using a small amount of resources while still having very tight bounds on error. Assuming you have a tornado.ioloop running, this will automatically forget old values for you and only print if the phone number has been seen in the last 24hours. (NOTE: If you do not have an IOLoop running, don't worry... just call the TimingBloomFilter.decay() method every half a decay interval or every 12 hours in this example).

algorithms-and-ds - Algorithms and Data Structures

  •    Java

I created this repository to practice more the subject. As I'm studying, I implement problems and algorithms and push them here. Algorithms are organized by subjects (e.g. Searching, Sorting, etc...). For each problem, I create a common interface and have different classes implementing the problem's interface. I designed the classes to be concise and to provide enough information so you don't have to check any other files. Therefore, expect to see some duplicated code. The main concern here, is mastering the art of computer programming.