/ / Assembly NASM come creare e lavorare con un albero di ricerca senza puntatori - ricerca, assemblaggio, ricorsione, albero, nasm

Assemblare il NASM come creare e lavorare con un albero di ricerca senza puntatori: ricerca, assemblaggio, ricorsione, albero, nas

Ho un problema a cui deve passare un ragazzodiversi pilastri, dove sono collegati da ponti con fori. Il ragazzo deve scegliere il modo migliore attraverso i pilastri. Il modo migliore è quello con meno buchi dal pilastro iniziale all'ultimo.

Ecco un'immagine fornita con il problema.

Il problema

Il programma riceverà come input una descrizionedel numero di fori tra ogni pilastro e il numero di pilastri e ponti. Il ragazzo deve andare solo in una direzione verso l'ultimo pilastro (non tornare indietro).

A me sembra un problema di ricerca dell'albero, ma iomi è stato detto che non dovrei usare i puntatori in questo problema perché c'è un modo per organizzarlo e risolverlo senza usare le definizioni classiche dell'albero C nell'assemblaggio (dove sarebbe molto più difficile), solo usando la ricorsione.

Come posso organizzare la "struttura ad albero" senza usare i vettori / puntatori dinamici?

risposte:

1 per risposta № 1

Puoi creare una matrice "nxn" (un array di lunghezza n ^ 2), dove matrix[i, j] è la quantità di buchi tra loro.
Se non esiste alcun percorso tra i nodi i e j, la quantità di fori è infinita (2 ^ 31-1).
Quindi puoi trovare il percorso migliore usando la ricorsione o semplicemente usando l'algoritmo Dijkstra.