Data Structures & Algorithms

In the process of becoming or practicing as a web application developer, it's easy to lose sight of Computer Science.

This collection of exercises and experiments seeks to help you build an understanding of those foundations.

Local Setup

  • Fork this repo
  • Clone your forked repo
  • cd data_structures_and_algorithms
  • Set the remote
    • git remote add upstream https://github.com/turingschool/data_structures_and_algorithms.git

If there have been changes to this main repo - you can pull them down in the following way

  • Make sure you are on a master branch, with no uncommitted work (makes this easier)
  • git fetch upstream master

Included Topics

  • binary trees - README|Ruby|JavaScript
  • Pathfinding Algorithm with A* - README|Ruby?
  • luhn algorithm (checksumming) - README|Ruby
  • graphs - README
  • linked lists - README|Ruby|JavaScript
  • bloom filters - README
  • Hash Array Mapped Trie - README
  • Hash Maps - README
  • Heaps - README
  • Huffman Coding - README|JavaScript
  • MD5 Hashing - README|Ruby
  • Red/Black Trees - README
  • SHA-1 - README
  • tries - README

To-Do / Would like to cover

  • Skip Lists
  • Persistent Data Structures
  • Tries (more detail)
  • Hashing algorithm implementation (maybe start with MurmurHash?)
  • Dungeon Generation