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 Innovations
Pilot, FAA certified pilot for
airplanes and helic
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 C
Abstract Data Type
Abstract Data Type
Structures: d
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 Proofs
Proving Correctness of Procedures
Recurrence Equati
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 comps are i-1 w(n) = sum i = 2 to n (i - 1) = [n(n-1)]/2 O
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 be the hardest, can it be found in linear time? Could so
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 medium problems. Polynomial time problems such as n2, n3.
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?) 2. What is the shortest path from u to v? Kleene, Warsh
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 case O(m*n) - T = AAAAAAAA. P = AAB Causes backups
P: ABA