Skip to content

Repository on data structures and algorithms implemented for python.

Notifications You must be signed in to change notification settings

OliverIgnetik/Data-Structures-Algorithms-Python

Repository files navigation

Data Structures and Algorithms Research with Python

Overview

This repository is a collection of algorithms and data structures python.Included are some helpful examples of more advanced Python concepts like decorators and abstract base classes. Please check the anaconda-project.yml file for dependencies and package versions.

Data Structures

  1. Arrays
    • Kadane's algorithm
    • Dutch Flag Partition
  2. Graphs
    • Directed and Undirected graphs
    • Fundamental traversals
  3. Hashtables (dictionary)
    • Rubin-Karp algorithm
    • Implementations with linear probing for hash collisions
  4. Linked Lists
    • Doubly linked list
  5. Stack and Queues
    • Indexed Priority Queues
  6. Trees
    • Heaps
      • Fibonacci heaps
      • D-ary heaps
    • Tries
    • Binary Search Trees
    • AVL Balancing Trees

Algorithms

  1. Dynamic Programming
  2. Recursion
    • Towers of Hanoi
    • Coin change problems
    • String Permutations
  3. Sorting
    • Merge sort
    • Radix sort
    • Quick sort
    • Heap sort
  4. Traversals
    • Breadth First Search
    • Depth First Search
  5. Graph Algorithms
    • Dijkstra's algorithm
    • Prim's algorithm
    • Bellman Ford algorithm
    • Kruskal's algorithms
  6. Backtracking
    • Knight's tour problem
    • N-Queens problem

Some helpful online resources

Releases

No releases published

Packages

No packages published

Languages