1 / 14

Rekursion og rekursive algoritmer

Rekursion og rekursive algoritmer. Rasmus D. Lehrmann DM67 2010. Indhold. Hvad er algoritme pattern ? Hvad er rekursion ? Fibonacci Sweep Binære søgning Quicksort Hanoi’s tårne Kompleksitet Sorterings algoritmer Opsummering. Hvad er algoritme pattern ?.

easter
Download Presentation

Rekursion og rekursive algoritmer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rekursion og rekursive algoritmer Rasmus D. Lehrmann DM67 2010

  2. Indhold • Hvad er algoritme pattern? • Hvad er rekursion? • Fibonacci • Sweep • Binære søgning • Quicksort • Hanoi’s tårne • Kompleksitet • Sorterings algoritmer • Opsummering

  3. Hvad er algoritme pattern? En metode til forenkling af et problem, ved at opdele problemet i underproblemer, af samme type. Inden for computer programmering kaldes dette del og hersk.

  4. Hvad er rekursion? • En Problemløsningsteknik • Metode der kalder sig selv • Dette kan være søgning og sortering

  5. Fibonacci • Talrækken • 1,1,2,3,5,8,13,21,34,55,89 • Rekursivt kald

  6. Sweep • Er en for-each metode • Søger efter ikke-besøgte elementer • Udfører en metode • Fjerner elementet fra samlingen af ubesøgte

  7. Sweep eksempel Så længe der er flere elementer i vores collection: • { Hent næste element hvis dette element indeholder den værdi vi søger efter: found = true else fjern elementet fra samlingen af ubesøgte } //end of loop If found Gør noget ved elementet

  8. Binær søgning • En binær søgning foretages i sorteret collections • O = n * log(n) • Mergesort • Quicksort

  9. Quicksort Der findes en række sorterings algoritmer, nogle bedre end andre! • Jeg vil fortælle om Quicksort: • Pivot • Del og sorter • Til sidst sammenflet

  10. Quicksort eksempel • Vælg en pivot og sorter, sådan at mindre end er til venstre, og støre end er til højre • Del problemet op i mindre problemer og gentag til alle tal er sorteret

  11. Hanoi’s tårne 3 søjler 1: Start 2: Hjælpe 3: Slut Flyt de 8 skiver fra Start til slut. 1 af gangen. En (simpel) udfordring, men tager tid.

  12. Kompleksitet – Big O • Tid / pladsforbrug • Der snakkes om worst case og average • O(f(n))beskriver problemets størrelse • Betragter kun betydende led • Ser bort fra konstanter • Beskæftiger sig kun med store værdier af n

  13. Sorterings algoritmer

  14. Opsummering Rekursion og rekursive algoritmer • Rekursion • Søgning • Mergesort • Quicksort • Sorterings algortime • Pivot • Del og sorter • Til sidst sammenflet • Man kan bruge Rekursion og rekursivealgoritmer til f.eks. at sorter data

More Related