This preview shows page 1. Sign up to view the full content.
Unformatted text preview: UMass Lowell Computer Science 91.404 Analysis of Algorithms
Prof. Karen Daniels
Fall, Fall 2011 Lecture 1 Introduction/Overview I t d ti /O i Text: Chapters 1, 2
Friday 9/2/2011 Web W Web Page eb Page
http://www.cs.uml.edu/~kdaniels/courses/ALG_404_F11.html p Nature of the Course
Core course: required for all CS majors Advanced undergraduate level Graduate students take separate course (91.503) "Pencil-and"Pencil-and-paper" exercises Lectures supplemented by: No programming required Programs RealReal-world examples What's It All About? Algorithm: Algorithm Al ith : steps for the computer to follow to solve a problem wellwell-defined computational procedure that transforms input into output recognize structure of some common problems understand important characteristics of algorithms to solve common problems select appropriate algorithm to solve a p problem tailor existing algorithms create new algorithms Some of our goals: g Some Algorithm Application Areas
Robotics Bioinformatics Telecommunications Design Analyze Apply Computer Graphics Medical Imaging Some Typical Problems
Input: Set of items Problem: Arrange items "in g order" Minimum Spanning Tree Mi i S i T
Input: Graph G = (V,E) with weighted edges g Problem: Find subset of E of G of minimum weight which forms a tree on V Median finding
Input: Set of numbers or keys Problem: Find item smaller than half of items and bigger than gg half of items Shortest Path
Input: Edge-weighted graph G , with Edgestart vertex s and end vertex t Problem: Find the shortest path from s to t in G SOURCE: SOURCE: Steve Skiena's Algorithm Design Manual
(for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith) ) Tools of the Trade
Algorithm Design Patterns such as:
divide-anddivide-and-conquer Data Structures such as:
trees, linked lists, hash tables, graphs Algorithm Analysis Techniques such as:
asymptotic analysis probabilistic analysis
Summations Combinations Growth of Functions Probability Proofs MATH
Sets Permutations Logarithms L ih Recurrences Tools of the Trade: (continued) Algorithm Animation Formerly http://www.cs.brockport.edu/cs/java/apps/sorters/insertsortaniminp.html What are we measuring? Some Analysis Criteria: Scope The problem itself? A particular algorithm that solves the problem? ti l l ith th t l th bl ? Time Complexity? Space Complexity? Upper? Lower? Both? Best-Case? Average-Case? Worst-Case? Best-C ? Average-C ? Worst-C ? A Choice of Data Structure "Dimension" Type of Bound T f B d Type of Input Type of Implementation Prerequisites Computing I (91.101) Computing II (91.102) (91 102) Discrete Math I & II (92.321, 92.322) Statistics f S i i S i i for Scientists and Engineers dE i (92.386) Calculus I-II (92.131-132) I- (92.131Summations Combinations Growth of Functions Probability Proofs MATH
Sets Permutations Logarithms Recurrences Course Structure: 5 Parts Foundations Analyzing & Designing Algorithms, Growth of Functions, Recurrences, Probability & Randomized Algorithms Heapsort, Heapsort, Priority Queues, Quicksort, Sorting in Linear Quicksort, Time Sorting Data Structures D t St t Stacks and Queues, Linked Lists, Introduction to Trees, Hash Tables, Binary Search Trees, Balancing Trees: RedRedBlack Trees Advanced Techniques (time permitting) Dynamic Programming, Greedy Algorithms Graph Algorithms DFS, BFS, Topological Sort, MST, Shortest paths Textbook Required: q Introduction to Algorithms by T.H. Corman, C E Leiserson, R L Rivest, C T H Corman, C.E. Leiserson, R.L. Rivest, C. Stein 2009 3rd Edition MIT Press 2009 ISBN 978-0-262-03384-8 (hardcover) 978- 262-03384see course web site (Related Links) for textbook web site includes solutions to selected exercises Ordered for UML bookstore See course web site for recommended texts. Syllabus (current plan) Syllabus (current plan, continued) CS Theory Math Review Sheet The M t R l Th Most Relevant Parts... tP t p p. 1 O, , definitions Series C Combinations bi ti p. 2 Recurrences & Master Method p. 3 Probability F t i l Factorial Logs Stirling's approx g pp p. 4 Matrices p. 5 Graph Theory p. 6 C l l Calculus Product, Quotient rules Integration, Differentiation Logs p. 8 Finite Calculus p. 9 S i Series Math fact sheet (courtesy of Prof. Costello) is on our web site. Important Dates Math Quiz (closed book) Monday, 9/12 Wednesday, 10/26 TBA Focus on Appendices A-D A- Midterm Exam (Chapters 1-6): Final Exam: Grading Homework 35% Midterm (chapters 1-6, open book & notes) 30% Discretionary (attendance, participation, math quiz) 5% Final Exam (cumulative, open book & notes) 30% ...
View Full Document
This note was uploaded on 02/13/2012 for the course CS 91.404 taught by Professor Dr.karendaniels during the Fall '09 term at UMass Lowell.
- Fall '09