/data_structures

python implementation of different data structures (DoubleLinked list, stack, queue, deque, ...) and algorithms for them

Primary LanguageJupyter Notebook

DataStructures and Algorithms

Data Structures

  1. Double-linked list
    • List where, every node has previous and next fields, which has pointers to next/previous node in list. Such structure allows you to easly iterate in both directions from the end and from the beginning.

    • Time complexity:

      Access Search Insertion (random) pushing front pushing back Deletion Copying
      O(n) O(n) O(n) O(1) O(1) O(n) O(n)

Algorithms

  1. Huffman coding
    • А class that allows you to encode messages using the Huffman compression algorithm. This class also allows you to draw Huffman-tree (using graphviz).

    • Time complexity:

      Access Search Insertion Deletion
      Nan Nan Nan Nan
  2. Adaptive Huffman coding
  3. LZ77 compressing algorithm