50 likes | 223 Views
Analysis and Design of Algorithms. An algorithm is a method of solving problem (on a computer) Problem example: given a set of points on the plane find the closest pair Algorithm: find distance between all pairs Can we do it faster?. Combinatorial Problems. Closest pair
E N D
Analysis and Design of Algorithms • An algorithm is a method of solving problem (on a computer) • Problem example: • given a set of points on the plane • find the closest pair • Algorithm: • find distance between all pairs • Can we do it faster?
Combinatorial Problems • Closest pair • O(n^2) algorithm • Give O(nlog(n)) algorithm • TSP • O(n!) algorithm • too slow • difficult problem • MST • O(n^2) data structure Binary Heap -> O(nlog(n))
Course Overview • General algorithmic methods • divide and conquer, greedy algorithms, dynamic programming • Data structures • hashing, priority queues, binary search trees, binomial heaps • Combinatorial problems • MST, TSP, Vertex/Set Cover, Matrix • Computational Complexity • NP-completeness, reducibility, approximation • Cormen-Leiserson-Rivest Introduction to Algorithms
Grading • Home work • problems from the book 20% • two programming assignments 20% • extra credit problems 1p = +1% • 4520/6520 Midterm 30% • 4520 Final / 6520 Project 30%
Home Work • Problem sets • weekly • handed in/out Tuesdays (usually) • Questions on Thursday • Extra-credit problems! • Due next Tuesday • 1.2-2 p.13 • 1.2-2 p.13