Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
kanten (den kant med lägst vikt) som inte bildar cykler med redan valda kanter.<br />
Rotade Träd<br />
I ett träd kan man utse en nod att vara rot, som kan tolkas som trädets startpunkt.<br />
Ett sådant träd kallas rotat träd (se fig. 5). En nods grannod som ligger<br />
närmare roten kallas dess förälder, och grannoder som ligger längre ifrån roten<br />
kallas dess barn. När ett rotat träd ritas brukar oftast roten ritas högst upp och<br />
sedan ritas barnen upp på nivån under och deras barn på nästa nivå osv.<br />
Det kan sägas att ett rotat träd är balanserat då det består av så få nivåer<br />
som möjligt. Ett rotat träds höjd kan fås fram genom att antalet nivåer räknas.<br />
Figur 5: Rotat träd.<br />
Det finns två vanliga sätt att söka igenom rotade träd, de kallas bredden-först<br />
sökning och djupet-först söking. Vid bredden-först sökning söks noderna igenom<br />
nivå för nivå, från t.ex. vänster till höger. Vid djupet-först sökning söks hela<br />
tiden först nodens barn igenom.<br />
Binära träd<br />
Ett binärt träd (se fig. 6) är ett rotat träd där varje nod kan ha max två<br />
barn. En av de vanligaste användningsområdena för binära träd är att man kan<br />
använda dem till snabba sökbara strukturer.<br />
Figur 6: Binärt träd.<br />
Ett sätt att skriva ut data i ett binärt träd är att gå genom noderna i in-ordning,<br />
då skriver man först ut värdet på den vänstra under-noden, sedan roten, och<br />
sist den högra noden. Det finns ytterligare två sätt att göra det på, pre-ordning,<br />
8