lecture01

# lecture01 - Introduction to Algorithms...

This preview shows pages 1–18. Sign up to view the full content.

Introduction to Algorithms 6.046J/18.401J/SMA5503 Lecture 1 Prof. Charles E. Leiserson

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.2 Welcome to Introduction to Algorithms, Fall 2001 Handouts 1. Course Information 2. Calendar 3. Registration (MIT students only) 4. References 5. Objectives and Outcomes 6. Diagnostic Survey
Day 1 Introduction to Algorithms L1.3 Course information 1. Staff 2. Distance learning 3. Prerequisites 4. Lectures 5. Recitations 6. Handouts 7. Textbook (CLRS) 8. Website 9. Extra help 10.Registration (MIT only) 11.Problem sets 12.Describing algorithms 13.Grading policy 14.Collaboration policy ¾ Course information handout

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.4 Analysis of algorithms The theoretical study of computer-program performance and resource usage. What’s more important than performance? modularity correctness maintainability functionality robustness user-friendliness programmer time simplicity extensibility reliability
Day 1 Introduction to Algorithms L1.5 Why study algorithms and performance? Algorithms help us to understand scalability . Performance often draws the line between what is feasible and what is impossible. Algorithmic mathematics provides a language for talking about program behavior. The lessons of program performance generalize to other computing resources. Speed is fun!

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.6 The problem of sorting Input: sequence a 1 , a 2 , …, a n of numbers. Example: Input: 8 2 4 9 3 6 Output: 2 3 4 6 8 9 Output: permutation a' 1 , a' 2 , , a' n such that a' 1 a' 2 a' n .
Day 1 Introduction to Algorithms L1.7 Insertion sort I NSERTION -S ORT ( A , n ) A [1 . . n ] for j 2 to n do key A [ j ] i j – 1 while i > 0 and A [ i ] > key do A [ i+ 1] A [ i ] i i – 1 A [ i+ 1] = key “pseudocode” ij key sorted A : 1 n

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.8 Example of insertion sort 824936
Day 1 Introduction to Algorithms L1.9 Example of insertion sort 824936

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.10 Example of insertion sort 824936 284936
Day 1 Introduction to Algorithms L1.11 Example of insertion sort 824936 284936

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.12 Example of insertion sort 824936 284936 248936
Day 1 Introduction to Algorithms L1.13 Example of insertion sort 824936 284936 248936

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Day 1 Introduction to Algorithms L1.14 Example of insertion sort 824936 284936 248936