Comprehensive Exam Study Guide

CS5329  Algorithm Design and Analysis

              a. The divide conquer algorithm –Understand the concept and
                 the Recurrences including recursion trees,
                 substitution and master method, with examples.
              b. Algorithm design strategies - including
                 characteristics, analysis, and examples.
              c. Insertion Sort, Quick Sort, Heap Sort- Know the
                 definitions, properties and their running time
                 for the best and worst cases in terms of big O notation.
                 Be able analyze and to prove some of the theorems,
                 complexity, and be able to apply to specific inputs.
              d. Hash functions - definitions, collision
                 resolution schemes, linear, quadratic probing,
                 double hashing. Be able to provide and work
                 with specific examples
              e. Dynamic Programming and Greedy Algorithm. – understand the
                 elements of the methodologies and the application to
                 examples. Understand their computation time complexity.
              f. Tree and elementary graph theory – understand some tree
                 structures including, but not limit to Binary Search Tree
                 Heap, and BFS for Graph theory, with Definitions, properties,
                 And examples. Be able to add and delete nodes from each of
                 those entities.