Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04

Similar presentations


Presentation on theme: "Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04"— Presentation transcript:

1 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2004 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04

2 Web Page Web Page

3 Nature of the Course Core course: required for all CS majors
Advanced undergraduate level Graduate students take separate course (91.503) No programming required “Pencil-and-paper” exercises Lectures supplemented by: Programs Real-world examples

4 What’s It All About? Algorithm: Some of our goals:
steps for the computer to follow to solve a problem well-defined computational procedure that transforms input into output Some of our goals: recognize structure of some common problems understand important characteristics of algorithms to solve common problems select appropriate algorithm to solve a problem tailor existing algorithms create new algorithms

5 Some Algorithm Application Areas
Computer Graphics Geographic Information Systems Robotics Bioinformatics Astrophysics Medical Imaging Telecommunications Design Apply Algorithms Analyze

6 Some Typical Problems Sorting Minimum Spanning Tree Median finding
Input: Set of items Problem: Arrange items “in order” Median finding Input: Set of numbers or keys Problem: Find item smaller than half of items and bigger than half of items Minimum Spanning Tree Input: Graph G = (V,E) with weighted edges Problem: Find subset of E of G of minimum weight which forms a tree on V Shortest Path Input: Edge-weighted graph G , with start vertex and end vertex t Problem: Find the shortest path from to t in G SOURCE: Steve Skiena’s Algorithm Design Manual (for problem descriptions, see graphics gallery at

7 Tools of the Trade Algorithm Design Patterns such as:
divide-and-conquer Data Structures such as: trees, linked lists, hash tables, graphs Algorithm Analysis Techniques such as: asymptotic analysis probabilistic analysis Growth of Functions Summations Recurrences Sets Probability MATH Proofs Logarithms Permutations Combinations

8 Tools of the Trade: (continued) Algorithm Animation

9 What are we measuring? Some Analysis Criteria: Scope “Dimension”
The problem itself? A particular algorithm that solves the problem? “Dimension” Time Complexity? Space Complexity? Type of Bound Upper? Lower? Both? Type of Input Best-Case? Average-Case? Worst-Case? Type of Implementation Choice of Data Structure

10 Prerequisites Computing I (91.101) Computing II (91.102)
Discrete Math I & II (92.321, ) Statistics for Scientists and Engineers (92.386) Calculus I-III ( ) Growth of Functions Summations Recurrences Sets Probability MATH Proofs Logarithms Permutations Combinations

11 Course Structure: 4 Parts
Foundations Analyzing & Designing Algorithms, Growth of Functions, Recurrences, Probability & Randomized Algorithms Sorting Heapsort, Priority Queues, Quicksort, Sorting in Linear Time Data Structures Stacks and Queues, Linked Lists, Introduction to Trees, Hash Tables, Binary Search Trees, Balancing Trees: Red-Black Trees Graph Algorithms DFS, BFS, Topological Sort, MST, Shortest paths Part 1 Part 2 Part 3 Part 4

12 Textbook Required: Introduction to Algorithms
by T.H. Corman, C.E. Leiserson, R.L. Rivest McGraw-Hill 2001 ISBN see course web site (MiscDocuments) for errata (1st edition) New Edition Ordered for UML bookstore

13 Syllabus (current plan)
Syllabus (current plan) Lecture Date Topic Reading Foundations Chapters 1-5 W 1/28 Introduction/Overview Chapter 1 F 1/30, M 2/2, W 2/4 Analyzing & Designing Algorithms Chapter 2 F 2/6, M 2/9, W 2/11 Growth of Functions Chapter 3 F 2/13, W 2/18, Th 2/19 Recurrences Chapter 4 F 2/20, M 2/23, W 2/25 Probability & Randomized Algorithms Chapter 5 Sorting Chapters 6-9 F 2/27, M 3/1 Heapsort/ Priority Queues Chapter 6 W 3/3, F 3/5 Quicksort Chapter 7 M 3/8, W 3/10 Review F 3/12 Midterm Exam M 3/22 W 3/24, F 3/26, M 3/29 Sorting in Linear Time Chapter 8 Data Structures Chapters 10-13 W 3/31, F 4/1, M 4/5 Stacks, Queues, Linked Lists, Trees Chapter 10 W 4/7, F 4/9 Hash Tables Chapter 11 M 4/12, W 4/16, F 4/18 Binary Search Trees Chapter 12 W 4/21, F 4/23 Balancing Trees: Red-Black Trees Chapter 13 Graph Algorithms Chapters 22-24 M 4/26, W 4/28, M 5/3 Elementary Graph Algorithms Chapter 22 W 5/5, F 5/7 Minimum Spanning Trees Chapter 23 M 5/10 Shortest Paths Chapter 24 W 5/12, F 5/14 1-13, 15-16, 22-24 To Be Determined Final Exam Revised for Fall, 2001 in accordance with ACM Computer Science Computing Curricula 2001, Steelman Draft, August, 2001.

14 CS Theory Math Review Sheet The Most Relevant Parts...
O, Q, W definitions Series Combinations p. 2 Recurrences & Master Method p. 3 Probability Factorial Logs Stirling’s approx p. 4 Matrices p. 5 Graph Theory p. 6 Calculus Product, Quotient rules Integration, Differentiation Logs p. 8 Finite Calculus p. 9 Series Math fact sheet (courtesy of Prof. Costello) is on our web site.

15 Important Dates Midterm Exam (Chapters 1-5): Friday, 3/12
Final Exam: TBA

16 Grading Homework 35% Midterm (Chapters 1-5) 30% (open book, notes )
Final Exam 35% (open book, notes )


Download ppt "Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04"

Similar presentations


Ads by Google