Formelsamling
Til eksamen i dette emnet deles det ikke ut noen formelsamling. Oversikten under er en studieressurs: på eksamen må alt kunnes uten hjelpemidler.
01 Asymptotisk notasjon
- Summer øvre og nedre grenser hver for seg. Står bare en nedre grense igjen, skrives den med .
02 Insertion-Sort
- Trekanttall, og antall forskyvninger i verste tilfelle for Insertion-Sort
03 Tabelldobling
- Toerpotens-summen: når . Det totale kopieringsarbeidet i tabelldobling.
04 Splitt og hersk
- Antall løvnoder i rekursjonstreet til , skrevet som en potens av . Ta logaritmen på begge sider: .
- Binærsøk: ett kall på halve instansen pluss konstant arbeid. Argumentet halveres per ekspansjon, så det trengs ekspansjoner.
- Merge-Sort: rekursjonstreet har nivåer som hvert koster .
- Quicksort i verste tilfelle: pivoten står alene på hvert nivå, og nivåkostnadene summerer til trekanttallet.
- Masterteoremet. Sammenlign med vannskillefunksjonen ; avstanden må være en faktor i tilfelle 1 og 3, og tilfelle 3 krever i tillegg for en .
05 Rangering i lineær tid
- Sorteringsgrensen. Et beslutningstre med løvnoder har høyde minst , og Stirlings formel gir . Enhver sammenligningsbasert sortering bruker sammenligninger i verste tilfelle.
- Randomized-Select når pivoten deler på midten: ett kall på halve instansen pluss lineært arbeid, en geometrisk sum . Forventet kjøretid er for enhver input; verste tilfelle er .
- Select. Medianen av gruppemedianene garanterer at minst elementer ligger på hver side av pivoten, så det rekursive kallet får høyst . Kallene får til sammen , og rota dominerer.
- Counting-Sort på heltall i området : to løkker over og én over . Lineær når .
- Radix-Sort: siffer, hvert med mulige verdier, sortert stabilt ett siffer om gangen med Counting-Sort.
06 Rotfaste trestrukturer
- Haugen som tabell, nummerert nivå for nivå med rota som 1. Med indekser fra 0 blir barna og og forelderen .
- Antall elementer i en haug med høyde : nivåene over det nederste er fulle, og det nederste har fra 1 til noder. Altså er .
- Build-Max-Heap. Høyst noder har høyde , og hver av dem synker høyst steg. Summen er , for . Ikke det samme som innsettinger, som koster .
- Heapsort: bygg haugen i lineær tid, og ta ut maksimum ganger med Max-Heapify på hver. i verste tilfelle og i beste, når alle elementene er like.
07 Dynamisk programmering
- Stavkapping: prøv alle lengder på den første biten, og kapp resten optimalt. Med memoisering eller nedenfra og opp er det .
- Antall kall Cut-Rod gjør uten lagring, rota medregnet. Trekk fra : da er , og .
- Lengden av en LCS av prefiksene og . Tabellen fylles rad for rad i .
- Det binære ryggsekkproblemet med gjenstandene og kapasitet . Tabellen har celler, så kjøretiden er .
- Kjøretiden for ryggsekkproblemet uttrykt ved antall bits i . Den er polynomisk i tallet , men eksponentiell i inputstørrelsen, altså pseudopolynomisk.
08 Grådighet
- Kostnaden til kodetreet : antall bits i den kodede teksten. Dybden er lengden av kodeordet til . For et huffmantre er det også summen av frekvensene i de indre nodene.
- Optimal delstruktur for Huffman: har det nye tegnet i stedet for og . Får barna og , blir kodeordene deres én bit lengre.
09 Traversering av grafer
- Nabolistene i en rettet graf: kanten står bare i lista til . I en urettet graf står den i begge listene, og summen er . Nabolistene tar plass, og en nabomatrise tar .
- DFS: initialiseringen, og ett kall til DFS-Visit per node, som går gjennom nabolista én gang. BFS bruker med samme argument. Topological-Sort og Strongly-Connected-Components bruker også .
- Parentesteoremet: er en ekte etterkommer av i dybde-først-skogen hvis og bare hvis intervallet til ligger inni intervallet til . Ellers er intervallene disjunkte, eller er en etterkommer av .
- I en DAG går hver kant fra en node med høyere sluttid til en med lavere. Derfor gir synkende sluttid en topologisk sortering.
- Etter BFS fra er det minste antallet kanter på en sti fra til , og hvis ikke kan nås. Stien i bredde-først-treet fra til er en korteste vei.
Ingen formler matcher søket.