1. Program Correctness (75%): The programs do everything that the lab requires. If you have a question about how a program handles a certain input, check the executables that have been provided. Subtract 35 points from the lab's final grade if the broker program does not use Dr. Plank's red-black tree library.
    1. btree_experiment (40 points)
      1. Number of words correctly computed (3 points)
      2. log n correctly computed (3 points)
      3. Binary tree stats correctly computed (10 points)
      4. AVL tree stats correctly computed (10 points)
      5. Splay tree stats correctly computed (10 points)
      6. Output correctly formatted (4 points)
    2. broker (35 points)
      1. customers are printed in descending order by total transaction cost (5 points)
      2. total transaction costs are properly computed (5 points)
      3. the format of the report's output matches the format of the executable's output (3 points)
      4. the program discards transactions with errors and continues executing (3 points)
      5. the program properly uses a red-black tree to store customers and then for each customer a transaction list (10 points)
      6. the program properly uses a red-black tree to sort customers by total transaction cost once all transactions have been read (5 points)
      7. the transaction struct is properly organized and includes a union (4 points)

  2. Commenting (15%): See the commenting information on the course's web page for advice on how to comment your programs,

  3. Program Style (10%): Are the programs well-organized and do they solve the problem in the most straightforward, efficient way possible.