CMPS 3350 Lab-13

Programming with optimization

Step-1:
Start with the lab-13 framework program.

Source and Makefile at:
   /home/fac/gordon/p/3350/code/lab13/

Do your work in your own Odin 3350/d/ folder.

In the lab you will...

  1. Optimize the program for time and space complexity.
     a. program running time
     b. space required for output storage

  2. Document your methods and stages of improvement.
     a. Use #define to isolate your optimization trials & efforts.
     b. Modify your Makefile to produce multiple optimized executables.


Step-2:
Follow along with Gordon on the big-screen.

We will apply the first optimization together.

Our goal will be to reduce the size of the dictionary text file, while still
maintaining the ability to read and process it.

We will write a simple coder/decoder or a codec.

Step-3:
Competition...

   Produce the smallest dictionary file size.

Rules...

   Your solution should still work if the cracklib-small dictionary file
   were updated with new words or words removed.

   Do not use 3rd-party tools such as tar, zip, 7-zip, or other.
   You may use lz77, Huffman codes, other data structures and algorithms. 
   Code gained from outside source must be noted.

Notes:
Your files will be collected at lab end, 12:30pm.
Please make sure your program compiles and runs.