View Single Post
Sitat av masac
Hei, lenge siden sist..

Jeg sitter her å fomler noe insane for å prøve å lage et generelt binært tre ved hjelp av kun et array.

Måten jeg har tenkt å gjøre det på er da og la Arr[0] = root, Arr[1] = leftnode, Arr[2] = rightnode osv.. eksempel på hva jeg mener:
Vis hele sitatet...
Basicly det du beskriver her er en binær heap. Wikipedia har fine artikler om dette. http://en.wikipedia.org/wiki/Binary_heap

Du har en array a = [....], rot=a[0] med barn a[1] og a[2] osv.
Funksjonen for å få tak i indeksen til barna og forelder er da, venstre-barn = 2*i+1, høyre-barn= 2*i+2 og forelder = floor((i-1)/2), der i er indeksen til noden.