CS520 Advanced Analysis of Algorithms and
Complexity
Dr. Ben Choi
Ph.D. in EE (Computer Engineering),
The Ohio State University
System Performance Engineer,
Lucent Technologies - Bell Labs Innovati
Data Abstraction and Basic Data Structures
Improving efficiency by building better
Data Structure
Object IN
i is an instance of type T, i T
e is an element of set S, e S
o is an object of class C, o
Recurrence Equations vs.
Recursive Procedures
Recursion and Induction
For advanced algorithm development,
recursion is an essential design technique
Recursive Procedures
What is a Proof?
Induction Pro
Sorting list stored as array sort on key that uniquely represents a record count comparisons for work determine if inplace or not! INSERTION SORT or push down sort - Worst case for each insert max com
Chapter 5 Section 5.1.1 Selection problem - find the kth largest number. Given unsorted list. Can we find the largest in linear time? Will prove can't do better than that. The middle number seems to b
Graphs and Graph Traversals Section 7.1 Graphs can solve several problems in linear time - easy problems. Graphs of million nodes can be solved. Other problems require revisiting nodes of the graph me
Chapter 9 The Transitive Closure, All Pairs Shortest Paths This chapter studies two related problems that answers the following questions. 1. Can I get there from here? (is there a path from u to v?)
1Pattern matching Application text graphics compilers sub-lists . P - pattern of length m T - text of length n j - pattern position k - text position Vanilla flavored algorithm best case O(m) worst ca