0% found this document useful (0 votes)
148 views

Design and Analysis of Algorithms: by Cormen, Leiserson, Riverst and Stein (CLRS) MIT Press

This document provides an introduction to algorithms and their analysis. It discusses how algorithms help understand scalability and performance. Algorithmic mathematics provides a language for discussing program behavior. The document notes that algorithm choice matters greatly for performance, giving an example where a 50nlogn algorithm outperforms a 2n^2 algorithm for sorting 10 million integers. It also lists some applications of algorithms like data retrieval, network routing, and games. Biology and genome sequencing are discussed as areas that rely heavily on algorithms.

Uploaded by

Jaisson K Simon
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
148 views

Design and Analysis of Algorithms: by Cormen, Leiserson, Riverst and Stein (CLRS) MIT Press

This document provides an introduction to algorithms and their analysis. It discusses how algorithms help understand scalability and performance. Algorithmic mathematics provides a language for discussing program behavior. The document notes that algorithm choice matters greatly for performance, giving an example where a 50nlogn algorithm outperforms a 2n^2 algorithm for sorting 10 million integers. It also lists some applications of algorithms like data retrieval, network routing, and games. Biology and genome sequencing are discussed as areas that rely heavily on algorithms.

Uploaded by

Jaisson K Simon
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Design and Analysis of Algorithms

Introduction

Introduction to Algorithms (2nd)


by Cormen, Leiserson, Riverst and Stein (CLRS) MIT Press

Huo Hongwei

Textbook: Introduction to Algorithms, 2nd edition, by T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. The MIT Press, 2001. (20025) Grading Policy: Homework + Projects : 40% Final Exam: 60%

Huo Hongwei

Analysis of algorithms

The theoretical study of computer-program performance and resource usage. Whats more important than performance?

modularity correctness maintainability functionality robustness user-friendliness programmer time simplicity extensibility reliability
3

Huo Hongwei

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. Performance is the currency of computing. The lessons of program performance generalize to other computing resources. Speed is fun!

Huo Hongwei

Two Distinct Choices

Huo Hongwei

Algorithm matters

Sort 10 million integers on 1 GHZ computer (1000 million instruction per second) using 2n2 algorithm 100 MHz computer (100 million instruction per second) using 50nlog n algorithm Supercomputer 2(107)2 instructions = 200000 seconds 55 hours, 9 10 instructions/second Personal computer 50107 lg107 instructions 105 seconds. 8 10 instructions/second
Huo Hongwei 6

Some Applications

Practical App. of Algorithms are ubiquitous and Including

data retrieval network routing games human genome project Internet algorithms electronic commerce manufacturing and other commercial settings many concrete problems

Huo Hongwei

Biology in One Slide Twentieth Century

and today
ACGTGACTGAGGACCGTG CGACTGAGACTGACTGGGT CTAGCTAGACTACGTTTTA TATATATATACGTCGTCGT ACTGATGACTAGATTACAG ACTGATTTAGATACCTGAC TGATTTTAAAAAAATATT
Huo Hongwei 8

Complete DNA Sequences

nearly 200 complete genomes have been sequenced

Huo Hongwei

Evolution

Huo Hongwei

10

Huo Hongwei

11

Huo Hongwei

12

Huo Hongwei

13

Huo Hongwei

14

Huo Hongwei

15

You might also like