Skip to content

Latest commit

 

History

History
31 lines (28 loc) · 1017 Bytes

File metadata and controls

31 lines (28 loc) · 1017 Bytes

AlgorithmsAndDataStudy

This repo demonstrates how to implement many common data structures and algorithms. It's main purpose was for my learning, but you may be able to learn something too!

Data Strucutures

To learn how they work (and sharpen my programming skills), I implemented the below data structures and used them to solve problems. I put most of them through their paces with automated testing, too.

Implemented in Kotlin

  • ArrayList
  • String and StringBuilder
  • Vector
  • Graph (adjacency list and adjacency matrix)
  • Heap (min and max)
  • LinkedList
  • HashMap
  • HashSet
  • TreeMap
  • Queue
  • Priority queue (using a heap)
  • Stack
  • Tree (AVL and Red-Black)
  • Trie

Implemented in Java

  • HashTable
  • Max heap
  • LinkedList (singly and doubly linked)
  • Queue
  • Stack
  • Tree (binary and binary search)

Algorithms and practice problems

I implemented the most common sorting algorithms (heap sort, quick sort, etc), and even more while completing some practice questions (such as topological sort).