Kapitel 8 - instuderingsfrågor Flashcards

1
Q

Vad är en abstrakt datatyp (abstract data type)?

A

En datatype som innehåller både data och operationer för att hantera datat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad kännetecknar ett sorterat binärt träd (sorted binary tree) (”binärt sökträd”)?

A

Att varje nod i trädet har två eller färre subträd (barnnoder), att alla noder i det vänstra
subträdet innehåller värden lägre än innehållet i den aktuella noden, och att alla noder i det
högra subträdet innehåller värden högre än innehållet i den aktuella noden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vilka är de fyra grundläggande datastrukturerna (basic data structures) utöver arrayer?

A

Lists, stacks, queues och träd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är skillnaden mellan en dynamisk och en statisk datastruktur?

A

I en dynamisk datastruktur kan strukturen och storleken förändras, men inte i en statisk. (Däremot kan värdena förändras i en statisk).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad kallas den grundläggande datastruktur som består av ett block av dataelement av samma datatyp och storlek, och där varje dataelement direkt nås via ett index?

A

Arrayer (arrays).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad kallas den grundläggande datastruktur som består av ett block av dataelement av vanligtvis olika datatyper och storlek, och där de enskilda dataelementen nås via namn?

A

Aggregate type

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Kan en lista implementeras som en statisk eller dynamisk datastruktur, både och, eller varken eller? Motivera ditt svar!

A

En lista kan både implementeras som en statisk datastruktur, t.ex. som en array, och som en
dynamisk datastruktur bestående av element och pekare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Beskriv de grundläggande datastrukturerna stack (stack) och kö (queue)?

A

En stack är en lista där man lägger till och tar bort element i samma ände enligt principen ”
last-in-first- out” (LIFO). En kö är en lista där man lägger till i ena änden och tar bort i den
andra änden enligt principen ”first-in-first-out” (FIFO).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kan lågnivå-datastrukturen array användas för att implementera en kö (queue)? Motivera ditt svar!

A

Ja, där elementen i arrayen beskriver en cirkulär kö, och man har en pekare till köns huvud (start) och en pekare till dess svans (ände).
I en array hittas objekt genom index vilket innebär att nya element är lätta att lägga till i en kö. De blir helt enkelt ett större tal. Däremot att ta ut det första elementet kan vara svårt med hjälp av en array. Då måste alla andra index också flytta på sig.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är en abstrakt datastruktur? Vad är skillnaden mot en record/struct?

A

En abstrakt datastruktur beskriver en datatyp och dess operationer, alltså både vad som
lagras och vad man kan göra med det.
En record/struct är en sammansatt datastruktur som är en samling av data som kan vara av
olika datatyper.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ge ett exempel på en datastruktur som använder principen LIFO och en datastruktur som använder principen FIFO?

A

LIFO används av stacks, och FIFO av köer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Förklara vad en pekare (pointer) är?

A

En pekare är en variabel som innehåller minnesadressen till det som den pekar på. En pekare kan koppla samman objekt i till exempel listor genom att peka på föregående och nästkommande objekt. Det är i kontrast till att använda sig av index.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad skiljer en abstrakt datatyp (abstract data type) från en sammansatt datatyp (aggregate type / struct / record)?

A

En abstrakt datatyp beskriver en datatyp och dess operationer (metoder, procedurer,
funktioner), alltså både vad som lagras (data) och vad man kan göra med det.
En record/struct är en sammansatt datastruktur som är en samling av data som kan vara av
olika datatyper, men innehåller inga operationer (metoder, procedurer, funktioner).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

I en variant av listor lägger man till och tar bort element i samma ände, vad kallas den datastrukturen? I en annan variant lägger man till element i ena änden och tar bort i den andra, vad kallas den datastrukturen?

A

Det första är en stack, det andra är en kö.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad kännetecknar en array?

A

Ett block av data där alla element är av samma datatyp, och elementen nås genom index.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad kännetecknar en aggregattyp (struct/record)?

A

Ett block av data där olika element kan vara av olika datatyp, elementen kallas fält och nås
med namn.

17
Q

Vad kallas en variabel som innehåller en minnesadress istället för data (används i dynamiska
datastrukturer)?

A

Pekare/referens. Pointer/reference.

18
Q

Vad kännetecknar rotnoden i en träd-datastruktur?

A

Att den inte har någon förälder (förändra-nod).