Skip to content

WillChamness/DataStructuresAndAlgorithms

Repository files navigation

Data Structures and Algorithms in Python

This repo contains the code of various data structures and algorithms along with explanations of each. Written in Python, the DSAAs are written from scratch with as little help as possible from built-in modules.

Why this repo exists

I will document as much as possible so that you can get an idea of how to recreate these in other languages. For example when implementing a queue, I see some repos simply appending to the end of a list to enqueue and popping at the beginning to dequeue. While this is a perfectly valid implementation in Python, this does not necessarily work in other languages, e.g. Java.

Who this repo is for

This repo is not for those who are new to DSAAs. There are many other resources online dedicated to that. Instead, this repo is for those who have been introduced but are still learning/understanding concepts. As mentioned, I will document as much as possible, and I may also provide pictures and examples to help you understand the concepts better.

Completed Data Structures:

  • Stack
  • Queue
  • Singly & Doubly Linked List
  • ArrayList
  • Hash table
  • Binary Search Tree
  • AVL tree
  • Heap
  • Graph

Completed Searching Algorithms:

  • Linear Search
  • Binary Search

Completed Sorting Algorithms:

  • Selection Sort
  • Insertion Sort
  • Bubble sort
  • Tree Sort
  • Shell Sort
  • Heap Sort
  • Merge Sort
  • Quick Sort

Releases

No releases published

Packages

No packages published

Languages