EXEMPEL 1 def funktionPåLänkadLista(firstElement): second = firstElement.next if second != None: firstElement.next = second.next else: firstElement.next = None return second 1) Vad är parametern firstElement för något? 2) Vad gör funktionen med indatat? 3) Vad returneras? EXEMPEL 2 1) Rita upp det binära sökträd som skapas om vi i följande ordning lägger in några tal: 7, 18, 5, 2, 1, 9, 4 2) Vilken höjd har trädet? 3) Är trädet balanserat? 4) Sätt in talen i omvänd ordning. Har trädet samma höjd? Är det balanserat? EXEMPEL 3 def rekursivFunktionPåLänkadLista(nr1): if nr1 == None: pass elif nr1.next != None: nr1.next = rekursivFunktionPåLänkadLista(nr1.next.next) return nr1 1) Vad är parametern nr1 för något? 2) Vad är basfallen? 3) Vad gör funktionen med indatat? 4) Vad händer om den första if-satsen inte finns med? a) visa något indata som hanteras likadant om första if-satsen saknas b) visa något indata som inte kommer att ge samma svar EXEMPEL 4 Skriv ut värdena i detta träd i postorder. (Är detta ett binärt sökträd?) (Om trädet ser konstigt ut, prova att göra dokumentet bredare. Det kommer att fixas som en bild lite senare, men nu är det bara skissat med hjälp av tabbar.) 8 5 14 4 6 10 19 1 3 7 11 16 15 Är detta träd balanserat? Om inte, vid vilken eller vilka noder kan man i sådana fall avgöra att det är obalanserat? Rita upp ett balanserat (annat) binärt sökträd med samma tal i. EXEMPEL 5 Skriv kod för att rekursivt skriva ut ett träds innehåll i preorder.