Welcome to Data Structures & Algorithms
Instructor: Dr. Ken Cosh
Schedule: Tu/Th 8:30-10:00
An understanding of data structures and algorithm analysis will be presented in the following topics: stacks queues, recursion, linked lists, trees, graphs, sorting and searching. This will serve as the basis for further studies in information systems and approaches using an application perspective. Case Studies are required.
1 Perform complexity analysis of algorithms using Big-O notation.
2 Use and understand the following data structures;
Stacks and Queues
Binary and Multiway Trees
3 Understand and use recursion in conjunction with recursive data structures.
4 Analyse and use different sorting algorithms such as shell sort, quick sort and heap sort.
5 Understand what hashing means and create good hash functions.
6 Understand what data compression is and use some common algorithms to perform compression.
7 Understand what garbage collection is.
1 (Compulsary) Adam Drozdek, 3rd edition, Data Structures and Algorithms in C++, Thomson Course Technology, 2005. ISBN: 0-534-49182-0
|1||Object Oriented Programming Using C++||* Case: Random Access File||3 (3-0)|
||*Case: A Library||3 (3-0)|
|4||Stacks and Queues
||Case: Exiting a Maze||3 (3-0)|
||Case: A Recursive Descent Interpreter||3 (3-0)|
||Case: Computing Word Frequencies||3 (3-0)|
||Case: Spell Checker||3 (3-0)|
||Case: Distinct Representatives||6 (6-0)|
||Case: Adding Polynomials||3 (3-0)|
||Case: Hashing with Buckets||3 (3-0)|
||Case: Huffman Method with Run-Length Encoding||3 (3-0)|
||Case: An in Place Garbage Collector||3 (3-0)|
||Case: Longest Common Substring||3 (3-0)|