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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

If you are using conda for dependency managemen please check the anaconda-project.yml file for dependencies and package versions.

If you are using mise and pip, please do the following:

  1. mise local python@3.11
  2. python -m venv venv
  3. source venv/bin/activate
  4. pip install -r requirements.txt
  5. deactivate (when you are finished)

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