PROBLEMA [Assembly] Aiuto con esercizio ricorsivo (Alberi Binari)

Auron93

Utente Attivo
186
12
Salve a tutti e buonasera!
Vi chiedo se c'è qualche modo in cui voi possiate aiutarmi, visto che ho una consegna con scadenza mercoledì e non ho capito benissimo diversi meccanismi...
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):

Codice:
.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 :help:


Codice:
                              1
                             /\
                            2  3
                           /\
                          4  5
                         /\  /\
                        6  7 8 9
                         \    \
                         10   11
                         /    /
                       12    13
                              \
                              14
 

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
In effetti ciò che chiedi esula dal fatto che devi implementarlo in assembler MIPS. La questione è decisamente di ordine più teorico..

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!