Salve a tutti e buonasera!
Vi chiedo se c'è qualche modo in cui voi possiate aiutarmi, visto che non riesco a capire bene praticamente niente... Se riusciste a postarmi un codice funzionante e spiegato sarebbe il top...
Ho iniziato un corso di programmazione in MIPS e come esercizio ci è stato assegnato quello di stampare a video il valore della massima lunghezza del percorso che interviene tra i nodi di un albero binario...
Ovviamente deve essere ricorsivo... Qualcuno può aiutarmi?
Questo è un esempio dell'albero con cui sto lavorando per fare una simulazione (sto usando Mars 4.5 come assembler):
.data
tree: .word nodo1
nodo1: .word 1, nodo2, nodo3
nodo2: .word 2, nodo4, nodo5
nodo3: .word 1, 0, 0
nodo4: .word 1, nodo6, nodo7
nodo5: .word 1, nodo8, nodo9
nodo6: .word 1, 0, nodo10
nodo7: .word 1, 0, 0
nodo8: .word 1, 0, nodo11
nodo9: .word 1, 0, 0
nodo10: .word 1, nodo12, 0
nodo11: .word 1, nodo13, 0
nodo12: .word 1, 0, 0
nodo13: .word 1, 0, nodo14
nodo14: .word 1, 0, 0
In questo caso, la lunghezza massima del percorso tra due nodi presente è quella tra il nodo 12 e il nodo 14, con un valore pari a 9.
Potete aiutarmi? Per favore, vi imploro
1
/\
2 3
/\
4 5
/\ /\
6 7 8 9
\ \
10 11
/ /
12 13
\
14