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.