/DataStructures.jl

Julia implementation of Data structures

Primary LanguageJuliaMIT LicenseMIT

Travis Build Status Appveyor Build Status Test Coverage Test Coverage Documentation ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

DataStructures.jl

This package implements a variety of data structures, including

  • Deque (implemented with an unrolled linked list)
  • CircularBuffer
  • CircularDeque (based on a circular buffer)
  • Stack
  • Queue
  • Priority Queue
  • Fenwick Tree
  • Accumulators and Counters (i.e. Multisets / Bags)
  • Disjoint-Set
  • Binary Heap
  • Mutable Binary Heap
  • Ordered Dicts and Sets
  • RobinDict (implemented with Robin Hood Hashing)
  • SwissDict (inspired from SwissTables)
  • Dictionaries with Defaults
  • Trie
  • Linked List and Mutable Linked List
  • Sorted Dict, Sorted Multi-Dict and Sorted Set
  • DataStructures.IntSet
  • SparseIntSet
  • DiBitVector (in which each element can store two bits)
  • Red Black Tree
  • AVL Tree
  • Splay Tree

Resources