Podcast
Questions and Answers
Hvad er den primære fordel ved at anvende en god hash funktion?
Hvad er den primære fordel ved at anvende en god hash funktion?
- At reducere hukommelsesforbruget
- At øge datatypers kompleksitet
- At undgå dynamisk hukommelsesallokering
- At opnå hurtigere udregning af index (correct)
Open-address hash maps er mest effektive, når størrelsen på maps er mindre end det forventede antal key-value par.
Open-address hash maps er mest effektive, når størrelsen på maps er mindre end det forventede antal key-value par.
False (B)
Hvad er en heap?
Hvad er en heap?
Et binært træ med specifikke properties.
En minHeap sikrer, at data i en node er ______ noderne i dens undertræer.
En minHeap sikrer, at data i en node er ______ noderne i dens undertræer.
Match operationer med deres formål:
Match operationer med deres formål:
Hvad er tidskompleksiteten for funktionen insert() i en heap?
Hvad er tidskompleksiteten for funktionen insert() i en heap?
En maxHeap sikrer, at data i en node er mindre end noderne i dens undertræer.
En maxHeap sikrer, at data i en node er mindre end noderne i dens undertræer.
Hvad kendetegner en heap med hensyn til struktur?
Hvad kendetegner en heap med hensyn til struktur?
Hvilken algoritme anvendes til at finde den korteste sti i en vægtet graf?
Hvilken algoritme anvendes til at finde den korteste sti i en vægtet graf?
Merge sort er en rekursiv sorteringsalgoritme.
Merge sort er en rekursiv sorteringsalgoritme.
Hvad stand for BFS i forbindelse med grafer?
Hvad stand for BFS i forbindelse med grafer?
Prim's algoritme bruges til at finde en __________ i en vægtet graf.
Prim's algoritme bruges til at finde en __________ i en vægtet graf.
Match de følgende algoritmer med deres primære anvendelse:
Match de følgende algoritmer med deres primære anvendelse:
Hvilket begreb henviser til den proces, hvor man fjerner et element fra en datastruktur?
Hvilket begreb henviser til den proces, hvor man fjerner et element fra en datastruktur?
Hvilken funktioner er vigtige for datastrukturen Linked List?
Hvilken funktioner er vigtige for datastrukturen Linked List?
Hvad er den gennemsnitlige tidskompleksitet for søgning i en Skip List?
Hvad er den gennemsnitlige tidskompleksitet for søgning i en Skip List?
Skip Lists kræver altid at alle noder eksisterer på samme niveau.
Skip Lists kræver altid at alle noder eksisterer på samme niveau.
Hvad er formålet med 'coin toss'-metoden i Skip Lists?
Hvad er formålet med 'coin toss'-metoden i Skip Lists?
I den værste configuration kan tidskompleksiteten for en søgning i Skip Lists være _____ .
I den værste configuration kan tidskompleksiteten for en søgning i Skip Lists være _____ .
Match funktionen til dens beskrivelse:
Match funktionen til dens beskrivelse:
En Skip List er en datastruktur, der altid er usorteret.
En Skip List er en datastruktur, der altid er usorteret.
Hvilken tidskompleksitet har søgning i et binary search tree (BST) i værste fald?
Hvilken tidskompleksitet har søgning i et binary search tree (BST) i værste fald?
I et binary search tree er alle knuder til højre for en given knude mindre end knuden.
I et binary search tree er alle knuder til højre for en given knude mindre end knuden.
For at fjerne en node fra et BST, skal man først ___ efter noden, der skal fjernes.
For at fjerne en node fra et BST, skal man først ___ efter noden, der skal fjernes.
Match operationerne med deres tidskompleksitet:
Match operationerne med deres tidskompleksitet:
Hvilket udsagn beskriver bedst reglerne i et binary search tree?
Hvilket udsagn beskriver bedst reglerne i et binary search tree?
En node kan fjernes uden at overveje strukturen i et binary search tree.
En node kan fjernes uden at overveje strukturen i et binary search tree.
Under indsættelse i et BST, indsættes nye noder som ___ .
Under indsættelse i et BST, indsættes nye noder som ___ .
Hvem opfandt Dijkstra’s algoritme?
Hvem opfandt Dijkstra’s algoritme?
Dijkstra’s algoritme kan ikke håndtere negative vægte på kanter.
Dijkstra’s algoritme kan ikke håndtere negative vægte på kanter.
Hvilken funktion minimerer A* algoritmen for at vælge den næste node?
Hvilken funktion minimerer A* algoritmen for at vælge den næste node?
Dijkstra’s algoritme kan godt fungere med en ______ kø, men er hurtigere med en priority queue.
Dijkstra’s algoritme kan godt fungere med en ______ kø, men er hurtigere med en priority queue.
Match følgende begreber med deres definitioner:
Match følgende begreber med deres definitioner:
Hvilken heurestik anvendes til 4-vejs bevægelse?
Hvilken heurestik anvendes til 4-vejs bevægelse?
A*-algoritmen udelukker brugen af heurestik i dens procedure.
A*-algoritmen udelukker brugen af heurestik i dens procedure.
Hvad symboliserer prisen tilføjet til alle noder i Dijkstra’s algoritme?
Hvad symboliserer prisen tilføjet til alle noder i Dijkstra’s algoritme?
Hvilken tidskompleksitet har Insertion sort for et allerede sorteret array?
Hvilken tidskompleksitet har Insertion sort for et allerede sorteret array?
Selection sort har altid en tidskompleksitet på O(n).
Selection sort har altid en tidskompleksitet på O(n).
Hvad er det primære princip bag Merge sort?
Hvad er det primære princip bag Merge sort?
Tidskompleksiteten for Merge sort er O(n * ______).
Tidskompleksiteten for Merge sort er O(n * ______).
Match de følgende sorteringsalgoritmer med deres tidskompleksitet:
Match de følgende sorteringsalgoritmer med deres tidskompleksitet:
Hvilken algorithm bruger en 'swap' metode for at sortere?
Hvilken algorithm bruger en 'swap' metode for at sortere?
Rekursive sorteringsalgoritmer som Merge sort bruger altid in-place sortering.
Rekursive sorteringsalgoritmer som Merge sort bruger altid in-place sortering.
Hvad sker der, hvis størrelsen på arrayet er 1 i Merge sort?
Hvad sker der, hvis størrelsen på arrayet er 1 i Merge sort?
Flashcards
Lænket liste
Lænket liste
En datastruktur hvor hvert element har en reference til det efterfølgende element i listen.
insert()
insert()
En operation, der indsætter et nyt element i en liste, på en specifik position.
remove()
remove()
En operation, der fjerner et element fra en liste, på en specifik position.
copy()
copy()
Signup and view all the flashcards
Heap
Heap
Signup and view all the flashcards
MinHeap
MinHeap
Signup and view all the flashcards
MaxHeap
MaxHeap
Signup and view all the flashcards
insert() (heap)
insert() (heap)
Signup and view all the flashcards
remove() (heap)
remove() (heap)
Signup and view all the flashcards
Chained hash map
Chained hash map
Signup and view all the flashcards
Open-address hash map
Open-address hash map
Signup and view all the flashcards
Alpha (α)
Alpha (α)
Signup and view all the flashcards
Hvad er et binært søgetræ (BST)?
Hvad er et binært søgetræ (BST)?
Signup and view all the flashcards
Hvad er reglerne for et binært søgetræ?
Hvad er reglerne for et binært søgetræ?
Signup and view all the flashcards
Hvad er søgetiden for et binært søgetræ?
Hvad er søgetiden for et binært søgetræ?
Signup and view all the flashcards
Hvordan søger man i et binært søgetræ?
Hvordan søger man i et binært søgetræ?
Signup and view all the flashcards
Hvad er indsættelsestiden for et binært søgetræ?
Hvad er indsættelsestiden for et binært søgetræ?
Signup and view all the flashcards
Hvordan indsætter man en node i et binært søgetræ?
Hvordan indsætter man en node i et binært søgetræ?
Signup and view all the flashcards
Hvad er fjernelsestiden for et binært søgetræ?
Hvad er fjernelsestiden for et binært søgetræ?
Signup and view all the flashcards
Hvordan fjerner man en node i et binært søgetræ?
Hvordan fjerner man en node i et binært søgetræ?
Signup and view all the flashcards
Hvad er en Skip List?
Hvad er en Skip List?
Signup and view all the flashcards
Hvordan er niveauerne i en Skip List organiseret?
Hvordan er niveauerne i en Skip List organiseret?
Signup and view all the flashcards
Hvordan fungerer søgning i en Skip List?
Hvordan fungerer søgning i en Skip List?
Signup and view all the flashcards
Hvad er tidskompleksiteten for søgning i en Skip List?
Hvad er tidskompleksiteten for søgning i en Skip List?
Signup and view all the flashcards
Hvordan vælges niveauet for en indsat node i en Skip List?
Hvordan vælges niveauet for en indsat node i en Skip List?
Signup and view all the flashcards
Hvad er den værste tidskompleksitet for søgning i en Skip List?
Hvad er den værste tidskompleksitet for søgning i en Skip List?
Signup and view all the flashcards
Hvordan indsættes en node i en Skip List?
Hvordan indsættes en node i en Skip List?
Signup and view all the flashcards
Hvad er formålet med 'update' vektor under indsættelse?
Hvad er formålet med 'update' vektor under indsættelse?
Signup and view all the flashcards
Korteste vej
Korteste vej
Signup and view all the flashcards
Dijkstra's algoritme
Dijkstra's algoritme
Signup and view all the flashcards
Dijkstra's med negative vægte
Dijkstra's med negative vægte
Signup and view all the flashcards
Kant-til-selv scenarie
Kant-til-selv scenarie
Signup and view all the flashcards
BFS lignende
BFS lignende
Signup and view all the flashcards
A*-algoritmen
A*-algoritmen
Signup and view all the flashcards
Heuristisk funktion
Heuristisk funktion
Signup and view all the flashcards
Heurestik
Heurestik
Signup and view all the flashcards
Insertion Sort
Insertion Sort
Signup and view all the flashcards
Selection Sort
Selection Sort
Signup and view all the flashcards
Divide and Combine
Divide and Combine
Signup and view all the flashcards
Merge Sort
Merge Sort
Signup and view all the flashcards
Rekursive Sorteringsalgoritmer
Rekursive Sorteringsalgoritmer
Signup and view all the flashcards
In-place vs Ikke-in-place
In-place vs Ikke-in-place
Signup and view all the flashcards
Tidskompleksitet
Tidskompleksitet
Signup and view all the flashcards
O-notation
O-notation
Signup and view all the flashcards
Study Notes
Generelle noter om eksamensmateriale
- Eksamensnoterne er fra januar 2018.
- Forfatterne er Patrick Gobbenobber Bjerregaard, Jonas Andersen og Malthe Jensen.
- Noterne omhandler DOA (ikke specificeret hvad DOA står for).
- Noterne dækker forskellige datastrukturer og algoritmer.
- Noterne indeholder en række kodeeksempler.
Emne: Lineære datastrukturer
- Introduktion: Dækker emnerne Linked Lists, Stacks og Queues.
- Linked Lists: Beskrivelse af den generelle opbygning og almindelige operationer som insert(), remove() og copy(). Indeholder kodeeksempler.
- Stacks: En LIFO-struktur (Last-In, First-Out) dvs. de senest indsatte elementer er de første der fjernes.
- Queues: En FIFO-struktur (First-In, First-Out) dvs. de første indsatte elementer er de første der fjernes.
Emne: Rekursion
- Introduktion: Begrebet rekursion som problemløsningsmetode, hvor et problem løses ved at løse mindre tilfælde/cases.
- Hvad er rekursion?: Rekursive problemer kan inddeles i to typer:
- Base case (tilfælde, hvor rekursionen stopper).
- Rekursiv case (tilfælde, hvor rekursionen fortsætter ved at kalde sig selv).
- Den rekursive opskrift: Procedure til at formele et problem ud fra dets størrelse, indsætte base case, den rekursive case og finde belæg for, at den rekursive case nærmer sig base-case for at løse problemet.
- Eksempler: Eksempler på rekursive algoritmer som sum og fakultet.
- Hvornår bør man bruge rekursion?: Diskuterer fordele og ulemper.
Emne: Maps
- Introduktion: Datastruktur, der opslaeger data i key-value par.
- Hash Maps: Datastruktur til at indekser data hurtigt vha. en hash funktion og open-address hash maps.
- Hash Funktion: Funktionen der mappes til et index.
- Collisions and Clustering: Hvordan man håndterer kollisioner (når flere keys mapper til samme index).
- Probing: Mekanisme til at finde en ledig placering.
- Load Faktor: Hvor fuldt et hash map er, og hvordan det påvirker ydeevne.
Emne: Priority Queues
- Introduktion: Datastruktur hvor elementer har en prioritet.
- Heap: En binær træ datastruktur, der tilfredsstiller heap-property som sørger for at den højeste prioritet er øverst. Indeholder operationer for indsættelse (insert) og fjernelse (remove).
- Tidskompleksitet: O(n log(n)) for insert og remove.
Emne: Søgning - Tree Structures
- Introduktion: Diskussion af forskellige træstrukturer til søgning.
- Træstrukturer generelt: Generel beskrivelse af træstrukturer med noder, børn og root noder.
- Søgning: Diskusion af lineær og binær søgning.
- Binary search trees (BST): Træstruktur hvor værdierne i venstre undertræ af en knude er mindre end værdien i knuden, og værdierne i højre undertræ af en knude er større.
- AVL trees: Selvbælanserede binære søgetræer der opretholder en balance i træet vha. rotationer.
- Treaps: En træstruktur (binært søgetræ) der bruger prioriteter for hvert element for at holde balancen.
Emne: Søgning - Skip Lists
- Introduktion: Introduktion til Skip Lists som et probabilistisk alternativ til balancerede træer.
- Skip Lists generelt: En datastruktur hvor elementer gemmes på forskellige niveauer med pointere, hvilket hurtigt kan finde elementer på grund af "fast lanes" hvor elementerne kommer til udtryk.
- Insert: Procedure til indsættelse af et element med en probabilistisk metode for at finde den bedste placering.
- Remove: Procedure til fjernelse af et element. Der omorganiseres pointere i listen.
- Sammenligning med AVL/Treap: Fordele og ulemper ved Skip Lists sammenlignet med andre balancerede træer.
Emne: Sortering
- Introduktion: Diskussion af sorteringsalgoritmer.
- Kvadratiske sorteringsalgoritmer: Bubble sort, Insertion sort, Selection sort.
- Rekursive sorteringsalgoritmer: Merge sort, Quick sort , diskuteres divide-and-conquer.
- Radix sort: En non-comparative sorteringsalgoritme.
- Tidskompleksitet: Best-case, worst-case og average-case tidskompleksitet for de forskellige sorteringsalgoritmer.
Emne: Grafer - Pathfinding
- Grafer generelt: Introduktion til grafer med knuder og kanter. Inddelt i rettede eller urettede grafer, med eller uden vægte.
- Pathfinding: At finde den bedste vej mellem to noder i en graf.
- Breadth-First Search (BFS): En algoritme til at finde den korteste vej/sti. Begynder med at udforske den nærmeste nabo til en given aktuel knude, og fortsætter med dens naboer til at bestemme den korteste sti.
- Dijkstra's algoritme: En algoritme til at finde den korteste vej i en weighted graf. Vægtene af kanterne indikerer afstand eller omkostninger.
- A-algoritmen:* En pathfinding algoritme til at finde den korteste vej i en weighted grafer, der tager højde for en heurestik function (estimation of remaining distance) for at optimere den path finding proces for at finde den optimale sti.
Emne: Grafer - Andre algoritmer
- Maximum Flow: At finde det maksimale flow gennem en netværksgraf.
- Minimum Spanning Tree (MST): At finde et træ, der udspænder alle noder, men har den mindst mulige sum af vægtede kanter.
- Prim's algoritme: En algoritme til at finde et MST.
- Kruskal's algoritme: En alternativ algoritme til at finde et MST.
- Matching: At matche to noder fra forskellige sæt af noder som opfylder givne forhold.
- Stable Matching Problem: At finde en stabil matchning mellem to sæt af noder hvor hver node har prioriteret andre noder fra det andet sæt.
- Gale og Sharpley's algoritme: En algoritme for at finde en stabil matchning.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test din viden om datastrukturer som heaps og hash maps samt grundlæggende algoritmer. Denne quiz dækker emner som tidskompleksitet, søgningsteknikker og graf-algoritmer. Svar på spørgsmål om specifikke funktioner og anvendelser af forskellige datastrukturer.