CS1501 (Algorithm Implementation) in Spring 2017 at the University of Pittsburgh
This class was taking as a writing-intensive requirement, hence the four writing assignments in this repository.
- Project 1 - Exhaustive Search/Pruning of Passwords in a Dictionary
- Used a De La Briandais Trie (DLB) to implement a symbol
- When the user feeds in a password, they will be informed if it's valid or invalid
- If it's invalid, 10 alternative passwords that match it the closest will be provided
- Project 2 - LZW Compression
- Implemented LZW Compression (lossless method) to compress files
- Compression time differs based on the method being used (provided in project description) and the contents of the file given.
- Implemented LZW Compression (lossless method) to compress files
- Project 3 - Car Database with Priority Queues
- Implemented a Min Heap that stored information about cars in a Database
- Project 4 - Network/Latency with Graph Algorithms
- Provides statistics for a user-provided graph such as:
- Lowest latency path (shortest weighted path)
- Minimum spanning trees
- Connectivity by wire type
- Maximum bandwidth path (max flow)
- Articulation points
- Provides statistics for a user-provided graph such as:
- Project 5 - RSA Encryption
- Demonstrated RSA encryption for signing and verification of files * This uses public and private keys to ensure correct users are viewing/being sent information from verified users
Paper 1 - Introducing MergeSort to the World in the 1970s
Paper 2 - Describing LZW Compression to Colleagues
Paper 3 - Advertising Boyer-Moore as Top Word Processor Algorithm in 1980s (Page 1 is an advertising pitch)
Paper 4 - Revisions of Paper 1 ("Introducing MergeSort to the World in the 1970s")