slides algo-about typed

Upload: ab598

Post on 14-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 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*