Slides Algo-About Typed
Transcript of Slides Algo-About Typed
-
7/28/2019 Slides Algo-About Typed
1/27
Introduc)on*
About*The*Course*
Design*and*Analysis*of*Algorithms*I*
-
7/28/2019 Slides Algo-About Typed
2/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm* Randomiza)on*in*algorithm*design* Primi)ves*for*reasoning*about*graphs* Use*and*implementa)on*of*data*structures*
-
7/28/2019 Slides Algo-About Typed
3/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* E.g.,*BigGOh*nota)on* sweet*spot*for*highGlevel*reasoning*about*algorithms*
-
7/28/2019 Slides Algo-About Typed
4/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm*
-
7/28/2019 Slides Algo-About Typed
5/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm*
Will*apply*to:*Integer*mul)plica)on,*sor)ng,*matrix*mul)plica)on,*closest*pair*
eneral*analysis*methods*(Master*Method/Theorem*
-
7/28/2019 Slides Algo-About Typed
6/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm* Randomiza)on*in*algorithm*design*
Will*apply*to:*QuickSort,*primality*tes)ng,*graph*par))oning,*hashing.*
-
7/28/2019 Slides Algo-About Typed
7/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm* Randomiza)on*in*algorithm*design* Primi)ves*for*reasoning*about*graphs*
Connec)vity*informa)on,*shortest*paths,*structure*of*informa)on*and*social*networks.*
-
7/28/2019 Slides Algo-About Typed
8/27
Tim*Roughgarden*
Course*Topics*
Vocabulary*for*design*and*analysis*of*algorithms* Divide*and*conquer*algorithm*design*paradigm* Randomiza)on*in*algorithm*design* Primi)ves*for*reasoning*about*graphs* Use*and*implementa)on*of*data*structures*
Heaps,*balanced*binary*search*trees,*hashing*and*some*variants*(e.g.,*bloom*filters*
-
7/28/2019 Slides Algo-About Typed
9/27
Tim*Roughgarden*
Topics*in*Sequel*Course*
reedy*algorithm*design*paradigm*
-
7/28/2019 Slides Algo-About Typed
10/27
Tim*Roughgarden*
Topics*in*Sequel*Course*
reedy*algorithm*design*paradigm* Dynamic*programming*algorithm*design*paradigm*
-
7/28/2019 Slides Algo-About Typed
11/27
Tim*Roughgarden*
Topics*in*Sequel*Course*
reedy*algorithm*design*paradigm* Dynamic*programming*algorithm*design*paradigm* NPGcomplete*problems*and*what*to*do*about*them*
-
7/28/2019 Slides Algo-About Typed
12/27
Tim*Roughgarden*
Topics*in*Sequel*Course*
reedy*algorithm*design*paradigm* Dynamic*programming*algorithm*design*paradigm* NPGcomplete*problems*and*what*to*do*about*them* Fast*heuris)cs*with*provable*guarantees* Fast*exact*algorithms*for*special*cases* Exact*algorithms*that*beat*bruteGforce*search *
-
7/28/2019 Slides Algo-About Typed
13/27
Tim*Roughgarden*
Skills*Youll*Lean*
Become*a*be]er*programmer*
-
7/28/2019 Slides Algo-About Typed
14/27
Tim*Roughgarden*
Skills*Youll*Lean*
Become*a*be]er*programmer* Sharpen*your*mathema)cal*and*analy)cal*skills*
-
7/28/2019 Slides Algo-About Typed
15/27
Tim*Roughgarden*
Skills*Youll*Lean*
Become*a*be]er*programmer* Sharpen*your*mathema)cal*and*analy)cal*skills* Start*thinking*algorithmically*
-
7/28/2019 Slides Algo-About Typed
16/27
Tim*Roughgarden*
Skills*Youll*Lean*
Become*a*be]er*programmer* Sharpen*your*mathema)cal*and*analy)cal*skills* Start*thinking*algorithmically* Literacy*with*computer*sciences*greatest*hits*
-
7/28/2019 Slides Algo-About Typed
17/27
Tim*Roughgarden*
Skills*Youll*Lean*
Become*a*be]er*programmer* Sharpen*your*mathema)cal*and*analy)cal*skills* Start*thinking*algorithmically* Literacy*with*computer*sciences*greatest*hits* Ace*your*technical*interviews*
-
7/28/2019 Slides Algo-About Typed
18/27
Tim*Roughgarden*
Who*Are*You?*
It*doesnt*really*ma]er.**(Its*a*free*course,*a_er*all.*
-
7/28/2019 Slides Algo-About Typed
19/27
Tim*Roughgarden*
Who*Are*You?*
It*doesnt*really*ma]er.**(Its*a*free*course,*a_er*all.* Ideally,*you*know*some*programming.*
-
7/28/2019 Slides Algo-About Typed
20/27
Tim*Roughgarden*
Who*Are*You?*
It*doesnt*really*ma]er.**(Its*a*free*course,*a_er*all.* Ideally,*you*know*some*programming.* Doesnt*ma]er*which*language(s*you*know.*
But*you*should*be*capable*of*transla)ng*highGlevel*algorithm*descrip)ons*into*working*programs*in*some%
programming*language.*
-
7/28/2019 Slides Algo-About Typed
21/27
Tim*Roughgarden*
Who*Are*You?*
It*doesnt*really*ma]er.**(Its*a*free*course,*a_er*all.* Ideally,*you*know*some*programming.* Doesnt*ma]er*which*language(s*you*know.* Some*(perhaps*rusty*mathema)cal*experience.*
Basic*discrete*math,*proofs*by*induc)on,*etc.*
-
7/28/2019 Slides Algo-About Typed
22/27
Tim*Roughgarden*
Who*Are*You?*
It*doesnt*really*ma]er.**(Its*a*free*course,*a_er*all.* Ideally,*you*know*some*programming.* Doesnt*ma]er*which*language(s*you*know.* Some*(perhaps*rusty*mathema)cal*experience.*
Basic*discrete*math,*proofs*by*induc)on,*etc.* Excellent%free%reference:%Mathema)cs*for*Computer*Science,*
by*Eric*Lehman*and*Tom*Leighton.**(Easy*to*find*on*the*Web. %
-
7/28/2019 Slides Algo-About Typed
23/27
Tim*Roughgarden*
Suppor)ng*Materials*
All*(annotated*slides*available*from*course*site.*
-
7/28/2019 Slides Algo-About Typed
24/27
Tim*Roughgarden*
Suppor)ng*Materials*
All*(annotated*slides*available*from*course*site.* No*required*textbook.**A*few*of*the*many*good*ones:*
Kleinberg/Tardos,*Algorithm%Design,*2005.* Dasgupta/Papadimitriou/Vazirani,*Algorithms,*2006.* Cormen/Leiserson/Rivest/Stein,* Introduc8on%to%Algorithms,*2009*(3rd*edi)on.*
Mehlhorn/Sanders,*Data%Structures%and%Algorithms:%The%Basic%Toolbox,*2008.*
-
7/28/2019 Slides Algo-About Typed
25/27
Tim*Roughgarden*
Suppor)ng*Materials*
All*(annotated*slides*available*from*course*site.* No*required*textbook.**A*few*of*the*many*good*ones:*
Kleinberg/Tardos,*Algorithm%Design,*2005.* Dasgupta/Papadimitriou/Vazirani,*Algorithms,*2006.* Cormen/Leiserson/Rivest/Stein,*Introduc8on%to%Algorithms,*2009*(3rd*edi)on.* Mehlhorn/Sanders,*Data%Structures%and%Algorithms:%The%Basic%Toolbox,*2008.*
No*specific*development*environment*required.* But*you*should*be*able*to*write*and*execute*programs.*
-
7/28/2019 Slides Algo-About Typed
26/27
Tim*Roughgarden*
Assessment*
No*grades*per*se.**(Details*on*a*cer)ficate*of*accomplishment*TBA.*
Weekly*homeworks.* Test*understand*of*material* Synchronize*students,*greatly*helps*discussion*forum* Intellectual*challenge*
-
7/28/2019 Slides Algo-About Typed
27/27
Tim*Roughgarden*
Assessment*
No*grades*per*se.**(Details*on*a*cer)ficate*of*accomplishment*TBA.*
Weekly*homeworks.* Assessment*tools*currently*just*a*1.0*technology.*
Well*do*our*best!* Will*some)mes*propose*harder*challenge*problems*
Will*not*be*graded;*discuss*solu)ons*via*course*forum*