For the programming questions know stacks, queues, priority queues, recursion, linked structures, BSTs, and sorting. That is, all programming EXCEPT programming to do with Red Black trees. You have to know short answer questions for them, but no programming. For AVL trees, there will be no programming with rotations, but there may be questions about the relationship between BSTs and AVLs. e.g. the BST is an AVL, as on sample Test 2.
In particular, for the sorting algorithms you should also know the code for insertion sort, quicksort, bubble sort ONLY. I will not ask you "Write the code for bubble sort" but I might ask you something like "Write a program that works like bubble sort except that it swaps elements that are two places apart rather than adjacent elements."
For short answer know definitions, examples, trees, AVL
trees, Red Black trees, algorithm analysis, Therac 25
(covered on March 23 in class), sorting.
For programming know how to manipulate linked structures, how to write
recursive programs, how to use ADTs (stacks, queues, priority
queues, etc), how to answer BST questions, how to write
sorting algorithms.
Practice, practice, practice. Write programs to solve the sample exam problems! Redo the labs! Redo the exercises! Redo the tests!
Introduction to analysis of algorithms, data structures, recursion, searching, sorting, linked lists, queues, stacks, trees.
3 lecture hours, 2.5 lab. hours
Credit: 0.50
Prerequisite: CP104
Regulations: Faculty of Science Regulations
| Section | Days | Times | Room | Instructor |
|---|---|---|---|---|
| Lecture 0 | MWF | 1:30 pm - 2:20 am | BA101 | Dr. Angèle Hamel |
| Lab 1 | M | 02:30 pm - 04:50 pm | BA113 | Mr. David Brown |
| Lab 2 | T | 01:00 pm - 03:20 pm | BA113 | Mr. David Brown |
| Lab 3 | W | 02:30 pm - 04:50 pm | BA113 | Mr. David Brown |
| Lab 4 | R | 01:00 pm - 03:20 pm | BA113 | Mr. David Brown |