Skip to content

Commit 00d0271

Browse files
committed
Editorial update
1 parent 0139340 commit 00d0271

File tree

5 files changed

+16
-19
lines changed

5 files changed

+16
-19
lines changed

.vscode/extensions.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"recommendations": ["davidanson.vscode-markdownlint", "goessner.mdmath","mdickin.markdown-shortcuts", "ms-python.python", "zhuangtongfa.material-theme"]
2+
"recommendations": ["davidanson.vscode-markdownlint", "mdickin.markdown-shortcuts", "ms-python.python"]
33
}
File renamed without changes.
File renamed without changes.

README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# TDT4120 Algoritmer og datastrukturer
22

3-
Dette er et selvskrevet kompendium i [TDT4120 H20 ved NTNU](https://www.ntnu.no/studier/emner/TDT4120/2020). Faget inneholder en del notasjon som er løst ved bruk av LaTeX formatering, som leses ved bruk av en [utvidelse i nettleseren](https://chrome.google.com/webstore/detail/mathjax-plugin-for-github/ioemnmodlmafdkllaclgeombjnmnbima). Kompendiet er sortert etter [læremålene i pensumheftet](Ressurser/pensumhefte2020.pdf).
3+
Dette er et selvskrevet kompendium i [TDT4120 ved NTNU](https://www.ntnu.no/studier/emner/TDT4120/2020). Kompendiet er strukturert etter [læremålene i pensumheftet 2020](Ressurser/pensumhefte2020.pdf).
44

5-
For å bidra, les [contributing.md](contributing.md)
5+
Kompendiet er ikke komplett og definitivt ikke perfekt, så gjerne [bidra](contributing.md)!
66

77
## Overordnede læringsmål i faget
88

@@ -84,7 +84,7 @@ Den **gjennomsnittlige kjøretiden** til en algoritme er kjøretiden man i gjenn
8484
<!-- ![A4] Kunne definere asymptotisk notasjon, O, Ω, Θ, o og ω. -->
8585
Asymptotiske notasjon beskriver hvordan en funksjon oppfører seg når inputstørrelsen blir veldig stor (tenk grenseverdier og summer). I algoritmesammenheng er funksjonen ofte tidsbruk gitt en inputstørrelse.
8686

87-
Sjekk ut [denne gode kilden](https://www.bigocheatsheet.com/) for å visuelt forsterke din forståelse av asymptotisk notasjon.
87+
[Big-O Cheat Sheet](https://www.bigocheatsheet.com/) er bra for å visualisere asymptotisk notasjon.
8888

8989
Asymptotisk notiasjon gir oss ikke en presis beskrivelse av veksten til en funksjon, men den gir oss øvre og nedre grenser. Det gjør det enklere å beskrive og sammenligne ulike algoritmer.
9090

@@ -440,7 +440,7 @@ $$a \ge 1,\ b > 1$$
440440

441441
1. Identifiser $a, b, f(n)$
442442
2. Regn ut $\log_b(a) = d$ og finn graden av $f(n) = c$
443-
3. Vurder forholdet mellom $c$ og $d$. Hvis $d>c$ gjelder tilfelle 1 med $O$. Hvis $c=d$ gjelder tilfelle 2 med $\Theta$. Hvis $d<c$ gjelder tilfelle 3 med $\Omega$.
443+
3. Vurder forholdet mellom $c$ og $d$. Hvis $d>c$ gjelder tilfelle 1 med $O$. Hvis $c=d$ gjelder tilfelle 2 med $\Theta$. Hvis $d < c$ gjelder tilfelle 3 med $\Omega$.
444444
4. Konsulter tabellen under med tilfeller
445445

446446
Tilfelle | Krav | Løsning
@@ -622,25 +622,25 @@ En haug (heap) er en sortert tre-struktur. Elementer som legges til en heap blir
622622
#### Operasjoner på Heaps
623623

624624
**Insert = $O(\log n)$**
625-
*Fordi man må søke gjennom treet. Ettersom treet er $\log n$-høyt, må dette nødvendigvis bli kjøretiden.*
625+
Fordi man må søke gjennom treet. Ettersom treet er $\log n$-høyt, må dette nødvendigvis bli kjøretiden.*
626626
En forenklet versjon i en tre-struktur heter TREE-INSERT med kjøretid $O(h)$.
627627

628628
**Delete = $O(\log n)$**
629-
*Av samme grunn som **insert**.*
629+
Av samme grunn som **insert**.
630630
En forenklet versjon i en tre-struktur heter TREE-DELETE med kjøretid $O(h)$.
631631

632632
**Build = $O(n)$**
633-
*Build bygger en heap uten å ta hensyn til sortering. Det vil si at den bare legger til legger til elementer i en trestruktur. Derfor er kjøretiden lineær.*
633+
Build bygger en heap uten å ta hensyn til sortering. Det vil si at den bare legger til legger til elementer i en trestruktur. Derfor er kjøretiden lineær.
634634

635635
**Max-heapify = $O(\log n)$**
636-
*Max-heapify tar input-elementene og konstruerer en Max-heap. Den sorterer nodene fra bunn til topp. Dermed er den bundet av høyden til heapen som er $\log n$*.
636+
Max-heapify tar input-elementene og konstruerer en Max-heap. Den sorterer nodene fra bunn til topp. Dermed er den bundet av høyden til heapen som er $\log n$.
637637

638638
**Build-max-heap = Linear time**
639-
*Build-max-heap bygger en heap ved å kjøre max-heapify på hver node den legger til. Max-heapify tar $O(\log n)$ tid, men ettersom Build tar lineær tid, overskirver denne Max-heapify. Altså får vi lineær tid.*
639+
Build-max-heap bygger en heap ved å kjøre max-heapify på hver node den legger til. Max-heapify tar $O(\log n)$ tid, men ettersom Build tar lineær tid, overskirver denne Max-heapify. Altså får vi lineær tid.
640640

641641
**Heapsort = $O(n \log (n))$**
642-
*Heapsort bygger først en max-heap ved hjelp av Build-max-heap. Nå er det største elementet på toppen. Dette elementet hentes ut fra heapen. Den flytter så en av de minste elementene helt til toppen før den kjører Max-heapify igjen. Max-heapify garanterer at det største elementet i heapen nok en gang kommer til toppen. Denne prosessen gjør det mulig å hente ut det største elementet i heapen hver gang.*
643-
*$O(n \log (n))$ kommer av at det kjøres Max-heapify for hvert element.*
642+
Heapsort bygger først en max-heap ved hjelp av Build-max-heap. Nå er det største elementet på toppen. Dette elementet hentes ut fra heapen. Den flytter så en av de minste elementene helt til toppen før den kjører Max-heapify igjen. Max-heapify garanterer at det største elementet i heapen nok en gang kommer til toppen. Denne prosessen gjør det mulig å hente ut det største elementet i heapen hver gang.*
643+
$O(n \log (n))$ kommer av at det kjøres Max-heapify for hvert element.
644644

645645
**Max-heap-insert, heap-extract-max, Heap-increase-key, Heap-maximum = $O(\log (n))$**
646646

contributing.md

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
# Bidra
22

3-
Utvidelser er nødvendig for å sikre at alt formateres riktig både på GitHub og i Visual Studio Code, og senere om kompendiet skal eksporteres i andre formater.
3+
... ved å lage en PR!
44

5-
## Utvidelser for å lese LaTeX på GitHub
6-
7-
- MathJax plugin for GitHub
8-
<https://chrome.google.com/webstore/detail/mathjax-plugin-for-github/ioemnmodlmafdkllaclgeombjnmnbima>
5+
Utvidelser brukes for å sikre at alt formateres riktig på GitHub og i Visual Studio Code, og ved eventuell eksportering til andre formater.
96

107
## Utvidelser for Visual Studio Code
118

129
Etter å ha klonet repo, installer utvidelser ved å søke `@recommended` i VSC Extensions, eller installer manuelt ved å bruke kommandolinjen: `code --install-extension [extension]`
1310

1411
- `davidanson.vscode-markdownlint` for Markdown linting
15-
- `goessner.mdmath` for Markdown Math symboler
16-
- Ekstra: `mdickin.markdown-shortcuts` for nyttige hurtigtaster
12+
- Optional: `mdickin.markdown-shortcuts` for nyttige hurtigtaster
1713

1814
## Hvordan Markdown med LaTeX
1915

@@ -23,5 +19,6 @@ Etter å ha klonet repo, installer utvidelser ved å søke `@recommended` i VSC
2319
<https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Formatting_using_TeX>
2420
- Inline formatering ved enkelt dollartegn: `$\LaTeX$`:
2521
$\LaTeX$
22+
- GitHub støtter ikke LaTeX i *kursiv tekst* uten [backticks](https://github.blog/changelog/2023-05-08-new-delimiter-syntax-for-inline-mathematical-expressions/).
2623
- Blokkformatering ved dobbel dollartegn: `$$\LaTeX$$`:
2724
$$\LaTeX$$

0 commit comments

Comments
 (0)