+ Rename output executables to match directory structure + Remove libraries for small examples + Supress -Wreturn-type warnings for singleton that is intentionally not copyable
+ Use copy-swap idiom for assignment operators + Update and organize CMakeLists subdirectories for algorithm examples
+ Using the pseudocode examples from MIT introduction to algorithms