28.09.2013 Views

Uppgift 6

Uppgift 6

Uppgift 6

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!