Träd & grafer Flashcards
Vad är några karakteristiska drag för ett träd som datastruktur?
Ett träd har en root node (ingång).
Data lagras hierarkiskt.
Alla noder har en förälder (utom root).
Varje nod kan ha noll eller flera barn.
Noder utan barn kallas “löv”.
Ge exempel på hur träd används i olika sammanhang.
Träd används för att representera:
Linux filsystem
If-satsernas syntax i programmering
SQL-syntax för SELECT-satser
Strukturering av naturligt språk
Organisationshierarkier
Vad är ett träd inom IT?
Ett träd är en av de vanligaste abstrakta datastrukturerna inom IT. Det är en hierarkisk struktur med termer som kommer från genealogi, t.ex. root, node, parent, children och leaves.
Vilka är några användningsområden för trädstrukturer?
Träd används inom:
Filsystem
Kompilatorer (för att analysera programmeringsspråks syntax)
Naturligt språkbehandling
Organisationshierarkier
Sorteringsalgoritmer
m.m
Vilka är vanliga operationer på träd?
Skapa ett träd (create)
Lägg till en ny nod (insert)
Räkna antal noder (size)
Räkna längsta väg (height)
Sök efter en viss nod
Traversera trädet (flera sätt)
Vad är ett binärt träd?
Ett binärt träd är en typ av träd där varje nod har högst två barn. Det används ofta för sortering och parsning.
Hur ser trädet ut efter att noderna 78, 44, 101, 97, 222 har insatts?
Trädet byggs upp enligt följande struktur:
78 är root.
44 är vänster barn till 78.
101 är höger barn till 78.
97 är vänster barn till 101.
222 är höger barn till 101.
Vad gör funktionen ascending_write(node)?
Funktionen traverserar trädet in-order (vänster, root, höger) och skriver ut nodernas data i stigande ordning.
Hur fungerar insättning av noder i ett träd?
Insättningen börjar från root och jämför varje nods värde för att avgöra om den ska placeras till vänster (mindre värde) eller till höger (större värde).
Hur representeras en nod i ett träd med Python?
En nod representeras av en klass Tree med tre attribut: data, left, och right. left och right pekar på barnnoderna.
Hur ser trädet ut efter att noderna 78, 44, 101, 97, 222 har insatts?
Trädet byggs upp enligt följande struktur:
78 är root.
44 är vänster barn till 78.
101 är höger barn till 78.
97 är vänster barn till 101.
222 är höger barn till 101.