-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththeoryQuestions
29 lines (26 loc) · 1.9 KB
/
theoryQuestions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1. Datastrukturen used används för att hålla reda på vilka ord som redan blivit
använda. Detta är för att förindra loopar genom att kolla samma ord flera gånger,
t.ex. gula -> fula -> gula förhindras.
Vi använder breddenförst eftersom vi just vill veta kortastevägen och inte ifall
det existerar en väg vilket vi får med djupetförst.
Man använder sig av datastukturen WordRec för att hålla reda på vilka ord
som man hittat.
2. contains har O(n), den kör en forloop övr alla element tills det sökta elementet
hittas. Vector används som datastruktur när man ska lägga till element eller kolla
om de innehåller element, så det är dessa operationer man gvill optimera.
Att lägga till tar O(1) men contains tar O(n). Om man ser till at datastukturen
är sorterad kan man göra contains på O(log(n)), detta kommer göra att
tillägningarna tar längre tid kanske O(n*log(n)). Men contains körs mer än add,
så detta kan man vinna på ändå. Ett balanserat träd skulle kunna fungera bra
för att uppfylla detta. Alternativt unionfind el. hashindex.
3. MakeSons funktionen kör två forloopar, en innuti den andra, och för varje
varv i den inre skapas det tre String:s (p.g.a. + operationerna mellan Strings).
Den inre loopen körs 30 ggr. och den yttre beror på hur LongestChain skapades men
i denna labb 4 ggr. Dvs vi skapar 4*30*3 Strings, 360 String objekt. Eftersom
alla Strings är lika långa skulle vi istället kunna skapa en array som vi bara
byter värden i hela tiden.
4. Det räcker med en enda breddenförstsökning om man gör sökningen från ordet
man vill hitta den längsta kortaste kedjan till. Då är det bara att söka sig
utåt från det ordet tills man har skapat ett komplett träd. Den nod man befinner
sig i när man byggt klart trädet ger en längsta kortaste kedja. Det är bara att
följa fader-pekarna tillbaka till startnoden så är vi klara.