Design and Analysis of Algorithms Introduction

Introduction to Algorithms (2nd) by Cormen, Leiserson, Riverst and Stein (CLRS) MIT Press

Huo Hongwei

1



Textbook: – Introduction to Algorithms, 2nd edition, by T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. The MIT Press, 2001. (2002年5月高等教育出版社出版影印版)



Grading Policy: – Homework + Projects : 40% – Final Exam: 60%

Huo Hongwei

2

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

Huo Hongwei

3

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

4

Two Distinct Choices

Huo Hongwei

5

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 50⋅107 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

7

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

9

Evolution

Huo Hongwei

10

Huo Hongwei

11

Huo Hongwei

12

Huo Hongwei

13

Huo Hongwei

14

Huo Hongwei

15

Introduction to DAA 2.pdf

... 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. Page 3 of 3. Introduction to DAA 2.pdf. Introduction to DAA 2.pdf.

992KB Sizes 2 Downloads 129 Views

Recommend Documents

aone daa daa daa.pdf
Animeone on irc.rizon.net aone fans wordpress blog for all. the. Read happy ice cream! manga online free in english manga eden. Episode 76 daa! daa! daa!

DAA I Internal.pdf
13.a)Explain travelling salesman problem with example (16). (or). b) Explain knapsack and assignment problem with example (16). 14.a) Derive an algorithm to ...

DAA Intro - CIT Chennai.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. DAA Intro - CIT ...

DAA Registrars' Welcome .pdf
when they apply to the best universities around the world. DAA offers an enriched American curriculum to students of all nationalities that. culminates in the IB ...

PR-DAA-GCE-USS.pdf
Sílabo: Es el documento formal que integra las capacidades con los. contenidos .... Bank Syariah Mandiri. dengan .... Page 3 of 4. PR-DAA-GCE-USS.pdf.

pdf-1453\introduction-to-psychoneuroimmunology-introduction-to ...
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf-1453\introduction-to-psychoneuroimmunology-introduction-to-psychoneuroimmunology-.pdf. pdf-1453\introduction-to-psychoneuroimmunology-introduction-to-

INTRODUCTION TO MATLAB
7.1 Solve a Linear System . .... a sequence of Matlab commands that will be executed from top to bottom just as if you had typed them on the command ... There is also a wealth of information under Help Desk in the Help menu of Matlab's ...

Introduction to HTML
HTML tags are used to mark-up HTML elements. ○ HTML tags are surrounded by the two characters < and >. ○ The surrounding characters are called angle ...

INTRODUCTION TO MATLAB
Get on a department PC or buy Student Matlab for your own machine and start the .... x=0:h:20; % build an array of points [0,h,2h,...,20] ..... looks good. ... Note: the example in the box below is available on the Physics 330 course website, as.

Introduction to Lab 2
Sep 15, 2010 - http://www.it.uu.se/edu/course/homepage/realtid/ht10/lab2. Lab report ... Based on OSEK (industry standard for automotive embedded systems).

Introduction to Algorithms - GitHub
Each cut is free. The management of Serling ..... scalar multiplications to compute the 100 50 matrix product A2A3, plus another. 10 100 50 D 50,000 scalar ..... Optimal substructure varies across problem domains in two ways: 1. how many ...

Introduction to HTML
HTML tags are used to mark-up HTML elements. ○ HTML tags are surrounded by the two characters < and >. ○ The surrounding characters are called angle ...

Introduction to Java Programming
LiveLab is a programming course assessment and management system. Students can .... B MySQL Tutorial. C Oracle Tutorial. D Microsoft Access Tutorial. E Introduction to Database Systems. F Relational Database Concept. G Database Design ...... In 1954,

Introduction to R - GitHub
Nov 30, 2015 - 6 Next steps ... equals, ==, for equality comparison. .... invoked with some number of positional arguments, which are always given, plus some ...

Introduction To DCA - GitHub
Maximum-Entropy Probability Model. Joint & Conditional Entropy. Joint & Conditional Entropy. • Joint Entropy: H(X,Y ). • Conditional Entropy: H(Y |X). H(X,Y ) ...

Introduction to Java Programming
problem-driven complete revision new problems early console input hand trace box multidimensional arrays. Sudoku problem simplified basic GUI earlier .... T Networking Using Datagram Protocol. U Creating Internal ..... the outset, it is helpful to re

Introduction to Linux
1.1.3. Current application of Linux systems. .... 2.2.3. Using Bash features. ...... Home sweet /home. ...... On top of the basics, special third party software is added ...... Mind that having a journaled file system only provides data security in c

Introduction to Unix
Aug 14, 1996 - An option modifies the command, changing the way it performs. Commands are ... models for early computer terminals. For new ..... They allow you to back up through the previous pages and ...... Regular expressions, such as those shown

122COM: Introduction to C++ - GitHub
All students are expected to learn some C++. .... Going to be learning C++ (approved. ). ..... Computer Science - C++ provides direct memory access, allowing.

Introduction to Cryptocurrencies
mention some incidents when programming errors lead to forks that needed to be ... advanced types of contracts are the fair multiparty proto- cols, and in particular .... of bitcoin. launched! bitcointalk.org/index.php?topic=47417.0, Accessed on.

Introduction to Lab 2 (LEGO)
Sep 15, 2010 - Flash the custom firmware ... Custom FW using fwflash-jh. ▻ Original FW using fwflash- .... Application: Distance and touch sensor sensing. 1.

Introduction to Orthodoxy.pdf
Sign in. Page. 1. /. 2. Loading… Page 1 of 2. Page 1 of 2. Page 2 of 2. Page 2 of 2. Introduction to Orthodoxy.pdf. Introduction to Orthodoxy.pdf. Open. Extract.