datastrukturer listor träd

Studera datastrukturer med fokus på listor och träd i datavetenskap. Korta frågor och svar för universitetsstudenter i Sverige.

OliverFoxrj·48 flashcards·48 frågor
universitetcomputer_scienceprogramming
0
Kan
1 / 48
0
Övar
Framsida

Vad är en lista?

Tryck för att vända
Baksida

En lista är en sekvens av element som kan vara av olika typer. Den är dynamisk och kan ändras.

Tryck för att vända
Kan
Övar fortfarande

Quiz(48 frågor)

Fråga 1 av 48

1. Vad är syftet med en lista i programmering?

Begrepp i det här studiesetet(48)

Listor(16)

Vad är en lista?

En lista är en sekvens av element som kan vara av olika typer. Den är dynamisk och kan ändras.

Lista vs Array?

Lista: Dynamisk storlek, kan ändras. Array: Fast storlek, oförändrad efter skapande.

Hur skapar man en lista i Python?

Använd syntaxen: `min_lista = [1, 2, 3]`.

Vad är indexering?

Indexering refererar till att hämta eller manipulera element i en lista baserat på deras position, börjar på 0.

True eller False: Listor kan innehålla olika datatyper.

True. Listor kan innehålla flera olika datatyper samtidigt.

Hur lägger man till ett element i en lista?

Använd `append()` metoden: `min_lista.append(4)`.

Vad gör funktionen `remove()`?

Tar bort det första förekomsten av ett specificerat element från listan.

Vad är skärning (slicing) av listor?

Att extrahera en del av en lista med syntaxen: `lista[start:end]`.

Exempel på skärning: `lista = [0, 1, 2, 3, 4]`. Vad ger `lista[1:3]`?

[1, 2]. Den inkluderar index 1 men exkluderar 3.

Hur sorterar man en lista?

Använd `sort()` metoden för att sortera listan i stigande ordning.

Vad är en tom lista?

En lista utan element, skapad med `tom_lista = []`.

Vad är längden på en lista?

Använd funktionen `len()`: `len(min_lista)` ger antalet element i listan.

Vad gör `insert(index, element)`?

Lägger till ett element på en specifik plats i listan.

True eller False: Listor är immutabla.

False. Listor är muterbara, vilket innebär att de kan ändras.

Vad skiljer en lista från en tupel?

Lista: Muterbar. Tupel: Immuterbar. Kombinationer av datatyper är möjliga i båda.

Vad ger `min_lista[::-1]`?

En omvänd version av listan. Slicing med negativa steg.

Träd(16)

Vad är ett träd inom datastrukturer?

Ett träd är en hierarkisk datastruktur med noder som är kopplade. En nod har en förälder och kan ha flera barn.

Vad kallas den översta noden i ett träd?

Rotnod. Den har ingen förälder och är utgångspunkten för trädet.

Fyll i: En _ är en nod utan barn.

Lövnod.

Vad är skillnaden mellan binära träd och allmänna träd?

- Binära träd har max 2 barn per nod. - Allmänna träd kan ha ett godtyckligt antal barn.

Är träd en typ av graf?

Sant. Träd är en speciell typ av graf som är acykliska och sammanhängande.

Vad innebär traversering av ett träd?

Att besöka varje nod i trädet på ett systematiskt sätt, exempelvis pre-order, in-order, eller post-order.

Ge ett exempel på en användning av träd.

Arkivsystem, filhantering, kompilatorer (syntaxträd).

Vad är ett binärt sökträd?

Ett binärt träd där vänster barn är mindre och höger barn är större än föräldern, vilket underlättar sökningar.

Vad är hjärtat av ett AVL-träd?

Balansering. AVL-träd är självbalanserande binära sökträd för att hålla söktiden O(log n).

Vad är en nods djup?

Antalet kanter från rot till noden. Roten har djup 0.

Vad är en nods höjd?

Längden på den längsta vägen från noden till en lövnod.

Ge ett exempel på trädtraversering.

In-order traversering: vänster, rot, höger. Används för att få sorterade värden.

Vad är ett fullständigt träd?

Ett träd där alla nivåer, utom möjligtvis den sista, är helt fyllda.

Vilken typ av träd används ofta för databaser?

B-träd. Används för att hålla data sorterade och möjliggöra snabb sökning, insättning och borttagning.

Vad innebär en trädstruktur i JSON?

JSON representerar hierarkiska data och kan ses som ett träd av nyckel-värde-par.

Vad är ett n-ary träd?

Ett träd där varje nod kan ha upp till n barn. Används i olika applikationer som filsystem.

Avancerade datastrukturer(16)

Vad är en graf?

En graf är en samling av noder (vertices) och kanter (edges) som kopplar noder. Används för att representera relationer.

Skillnad mellan riktad och oriktad graf?

Riktad graf: kanter har riktning. Oriktad graf: kanter har ingen riktning. - Riktade används för flöden.

Vad är ett binärt sökträd?

Ett träd där varje nod har högst två barn, vänster barn < nod < höger barn. Används för effektiv sökning.

Fyll i det tomma: AVL-träd är en _________.

självbalanserande binär sökträd.

Vad används heap för?

Heap används för att implementera prioritetskön. Max-heap och min-heap är vanliga typer.

Sant eller falskt: Träd är cykliska datastrukturer.

Falskt. Träd är acykliska, vilket innebär att de inte har några cykler.

Vad är en trie?

En trie är en speciell typ av träd som används för att lagra en dynamisk uppsättning av strängar. Används ofta i ordlistor.

Hur fungerar en hash-tabell?

En hash-tabell använder en hash-funktion för att mappa nycklar till värden. Kan ge konstant tidskomplexitet för sökning, insättning.

Skillnad mellan B-träd och binärt sökträd?

B-träd kan ha fler än två barn per nod och är avsett för databaser. Binärt sökträd har två barn och används för snabb sökning.

Fördelar med att använda länkade listor?

Dynamisk storlek, enklare insättning och borttagning av noder jämfört med arrayer, ingen överflödesrisk.

Vad är en död nod i ett träd?

En död nod är en nod utan barn. Den kan inte bidra till trädets struktur.

Vad är Dijkstra's algoritm?

En algoritm för att hitta den kortaste vägen i en graf. Använder en prioritetskön.

Vad är en segmentträd?

Ett segmentträd används för att lagra intervall och stödja intervallfrågor. Snabb uppdatering och frågekomplexitet.

Vad är skillnaden mellan BFS och DFS?

BFS (bredden-först-sökning) utforskar nivåer. DFS (djupet-först-sökning) går djupt innan den backar.

Ge ett exempel på en användning av en graf.

Sociala nätverk där noder representerar personer och kanter representerar relationer.

Vad är en cykel i en graf?

En cykel är en väg som börjar och slutar på samma nod utan att återbesöka noder.

Frågor i det här studiesetet(48)

1. Vad är syftet med en lista i programmering?

A.Att lagra en sekvens av element
B.Att lagra endast en datatyp
C.Att skapa en konstant variabel
D.Att utföra matematiska operationer

2. Vad är en karakteristik av ett binärt träd?

A.Varje nod har högst två barn.
B.Varje nod kan ha ett godtyckligt antal barn.
C.Det har alltid en djup av minst n.
D.Det är en cyklisk struktur.

3. Vad är en graf?

A.En samling av noder och kanter.
B.En typ av lista för att lagra data.
C.En algoritm för sortering.
D.En struktur för att representera träd.

4. Vilken metod används för att lägga till ett element i slutet av en lista?

A.add()
B.append()
C.insert()
D.extend()

5. Vilken traverseringsteknik besöker noden före dess barn?

A.Pre-order
B.In-order
C.Post-order
D.Level-order

6. Vilket påstående är sant om riktade och oriktade grafer?

A.Riktade grafer har kanter med riktning.
B.Oriktade grafer har alltid fler noder.
C.Riktade grafer kan inte ha cykler.
D.Oriktade grafer används inte i nätverksanalys.

7. Vad händer om du försöker få åtkomst till ett index som ligger utanför listans gränser?

A.Det returneras ett tomt värde
B.Ett felmeddelande visas
C.Värdet returneras som 0
D.Elementet läggs till i listan

8. Vad kallas en nod som inte har några barn?

A.Lövnod
B.Rotnod
C.Intern nod
D.Bladnod

9. Vad är syftet med ett binärt sökträd?

A.Att lagra nyckel-värde-par som en hash-tabell.
B.Att möjliggöra effektiv sökning och sortering.
C.Att hantera grafstrukturer.
D.Att lagra data i en linjär ordning.

10. Vilken av följande operationer förändrar en lista permanent?

A.Skapa en kopia av listan
B.Sortera listan med sort()
C.Använda slicing
D.Visa listan med print()

11. Vilket påstående om AVL-träd är korrekt?

A.De är balanserade för att optimera söktid.
B.De har alltid tre barn per nod.
C.De är alltid kompletta träd.
D.De är en typ av allmänt träd.

12. Fyll i det tomma: AVL-träd är en __________.

A.självbalanserande datastruktur.
B.typ av graf.
C.hash-tabell.
D.linjär lista.

13. Vad gör `remove(element)` om elementet inte finns i listan?

A.Inget görs
B.Det returnerar ett felmeddelande
C.Det tar bort det första elementet
D.Det lägger till elementet

14. Vilken typ av träd används för att representera hierarkiska data i databaser?

A.B-träd
B.Binära träd
C.N-ary träd
D.AVL-träd

15. Vad används heap-strukturer för?

A.Att implementera prioritetskön.
B.Att lagra strängar.
C.Att representera cykler i grafer.
D.Att skapa binära träd.

16. Vad är skillnaden mellan en lista och en tupel?

A.Ingen skillnad
B.Lista är muterbar, tupel är immutabel
C.Både är immutabla
D.Lista kan bara innehålla strängar

17. Vad är en nods höjd?

A.Längden på den längsta vägen till en lövnod.
B.Antalet barn noden har.
C.Djupet av noden från roten.
D.Antalet noder i trädet.

18. Är följande påstående sant eller falskt: Träd är cykliska datastrukturer.

A.Sant.
B.Falskt.
C.Bara i speciella fall.
D.Inte i programmering.

19. Vad returnerar `len(min_lista)`?

A.Antalet element i listan
B.Det första elementet
C.Listan i omvänd ordning
D.En tom lista

20. Vad kan vara en fördel med att använda ett fullständigt träd?

A.Det har en lägre minnesanvändning.
B.Det garanterar kortare söktid.
C.Det kan alltid hantera dynamiska insättningar utan ombalansering.
D.Det är alltid perfekt balanserat.

21. Vad är en trie?

A.En datastruktur för att lagra en uppsättning av strängar.
B.En typ av binärt träd.
C.En algoritm för sortering.
D.En graf med riktade kanter.

22. Vilken metod används för att infoga ett element på en specifik position?

A.add()
B.insert()
C.append()
D.replace()

23. Vad karakteriserar ett n-ary träd?

A.Varje nod kan ha upp till n barn.
B.Det har alltid exakt två barn per nod.
C.Det är alltid ett balanserat träd.
D.Det kan inte ha lövnod.

24. Hur fungerar en hash-tabell?

A.Den använder en hash-funktion för att mappa nycklar till värden.
B.Den lagrar data i en linjär lista.
C.Den representerar cykler i grafer.
D.Den är en typ av binärt träd.

25. Vad ger uttrycket `min_lista[::-1]`?

A.Listan oförändrad
B.Listan i omvänd ordning
C.En tom lista
D.Listan med dubbla värden

26. Vilken traverseringsmetod ger sorterade värden i ett binärt sökträd?

A.In-order
B.Pre-order
C.Post-order
D.Level-order

27. Vilken av följande är inte en skillnad mellan B-träd och binära sökträd?

A.B-träd kan ha fler än två barn per nod.
B.B-träd är avsedda för databaser.
C.B-träd har alltid lägre höjd än binära sökträd.
D.Binära sökträd har exakt två barn.

28. Vad gör skärning (slicing) av listor?

A.Det tar bort element från listan
B.Det extraherar en del av listan
C.Det sorterar listan
D.Det lägger till element till listan

29. Vad händer om ett binärt sökträd blir obalanserat?

A.Sökningstiden ökar.
B.Det blir ett AVL-träd.
C.Det förlorar alla barn.
D.Det blir ett komplett träd.

30. Vilka är fördelarna med att använda länkade listor?

A.Dynamisk storlek och enklare nodhantering.
B.De kräver alltid mer minne än arrayer.
C.De tillåter inte insättning av noder.
D.De är alltid snabbare än arrayer för alla operationer.

31. Vilket av följande är INTE en metod för listor?

A.append()
B.pop()
C.extend()
D.concat()

32. Vad beskriver en nods djup?

A.Antalet kanter från roten till noden.
B.Antalet noder i subtree.
C.Höjden på noden.
D.Antalet barn i noden.

33. Vad kallas en nod utan barn i ett träd?

A.Död nod.
B.Intern nod.
C.Rotnod.
D.Bladnod.

34. Hur skapar man en tom lista i Python?

A.min_lista = {}
B.min_lista = []
C.min_lista = ()
D.min_lista = ''

35. Vad är syftet med traversering av ett träd?

A.Att besöka varje nod.
B.Att radera noder.
C.Att skapa ett nytt träd.
D.Att balansera trädet.

36. Vad är Dijkstra's algoritm?

A.En algoritm för att hitta den kortaste vägen i en graf.
B.En metod för att sortera listor.
C.En struktur för att representera träd.
D.En typ av hash-funktion.

37. Vad får du om du försöker sortera en lista med blandade datatyper?

A.Det fungerar utan problem
B.Ett felmeddelande returneras
C.Listan sorteras ändå
D.Inget händer

38. Som vilket av följande fungerar ett JSON-objekt som?

A.Ett träd av nyckel-värde-par.
B.En sekventiell lista.
C.Ett matriserat format.
D.En cyklisk graf.

39. Vad är ett segmentträd?

A.En struktur för att lagra intervall och stödja intervallfrågor.
B.En typ av linjär lista.
C.En graf med riktade kanter.
D.En algoritm för att hitta det maximala värdet.

40. Vilket av följande påstående är sant om listor?

A.Listor kan inte innehålla andra listor
B.Listor är alltid av samma datatyp
C.Listor är muterbara
D.Listor är alltid tomma

41. Vilket av följande beskriver en rot i ett träd?

A.Den översta noden utan föräldrar.
B.Den nod som har flest barn.
C.En nod med högst djup.
D.En nod som är ensam i trädet.

42. Vilken är skillnaden mellan BFS och DFS?

A.BFS utforskar nivåer medan DFS går djupt.
B.DFS är snabbare än BFS.
C.BFS använder mer minne än DFS.
D.DFS används endast för träd.

43. Hur kan du ta bort det sista elementet från en lista?

A.remove()
B.pop()
C.delete()
D.discard()

44. Vilken typ av traversering används för att få en lista av noder i post-order?

A.Barn, sedan nod, sedan förälder.
B.Förälder, sedan barn.
C.Barn, sedan förälder, sedan rot.
D.Rot, sedan barn.

45. Ge ett exempel på en användning av en graf.

A.Sociala nätverk.
B.Databaser.
C.Länkade listor.
D.Hash-tabeller.

46. Vilken av följande påståenden är korrekt angående listor i Python?

A.Listor kan innehålla element av olika datatyper.
B.Listor har en fast storlek som inte kan ändras.
C.Listor kan inte sorteras.
D.Listor kan endast innehålla heltal.

47. Vilket av följande påståenden om träd är INTE sant?

A.Träd kan ha cykler.
B.Träd är alltid sammanhängande.
C.En nod i ett träd kan ha flera barn.
D.Rotnoden är den översta noden i trädet.

48. Vad är en cykel i en graf?

A.En väg som börjar och slutar på samma nod.
B.En nod utan barn.
C.En typ av graf.
D.En algoritm för sökning.

Relaterade studieset

Skapa ditt eget studieset

Ladda upp en PDF, klistra in dina anteckningar eller beskriv ett ämne – AI genererar flashcards, quiz och mer på några sekunder.