The purpose of this repository is to demonstrate examples of different kinds of algorithms in the world of computing. Understanding different approaches to designing and implementing algorithms is essential to being a software engineer. Programs are written in Java and Javascript.
Brute Force, Decrease and Conquer, Divide and Conquer, Transform and Conquer, Space/Time Tradeoffs, Dynamic Programming, Greedy Technique, Iterative Improvement
Based on explanations and pseudocode from Anany Levitin's Introduction to the Design and Analysis of Algorithms (https://www.amazon.com/Introduction-Design-Analysis-Algorithms-3rd/dp/0132316811), Gayle McDowell's Cracking the Coding Interview (http://www.crackingthecodinginterview.com/), and CodingBat (http://codingbat.com/java).