A collection of some of my projects demonstrating work with various types of data structures and algorithms from scratch.
Birthdays uses a self-implemented hashtable with quadratic probing to simulate the collection of randomly surveyed birthdates until a collision is found (when two people have the same birthday).
This RSA encryption and decryption program uses big primes (not bigger than longs in this instance) and modular exponentiation to securely and quickly encrypt and decrypt messages.
Standard implementation of both a binary search tree and avl tree.