Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++] Algorimo di Dijkstra

    Salve a tutti..

    sono una studentessa alle prime armi con il C++ e devo implementare l'algoritmo d Dijkstra.. mi chiedevo se qualcuno ha dei consigli per me.. vi ringrazio!

  2. #2
    Guarda qui . Anche questo link ti può essere utile . Ciao

  3. #3
    rinnovo la mia richiesta per ulteriori consigli.. ringrazio tutti!

  4. #4

    [C++]Algoritmo di Dijkstra

    Ho implementato in c++ un algoritmo per svolgere Dijkstra.. il problema è che riesco a farmi dare tutte le distanze dalla sorgente.. ma non riesco a fargli visitare l'albero dei cammini minimi.. avete qualche suggerimento!? devo implementare una nuova vlasse per fare la visita?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    118
    Potresti postare il sorgente, per favore?

  6. #6

    Re: [C++]Algoritmo di Dijkstra

    Se utilizzi il vettore dei padri e ti crei così il cammino? Da questo non è così complicato costruirsi l'albero no?

  7. #7
    Il sito di riferimento per la sorgente è questo.. ALGORITMO

    lo cercate tra i cammini minimi di un grafo orientato..

    io l'ho leggermente modificato perchè mi serviva solo dijkstra e di fare altre operazioni dopo aver trovato i cammini minimi..

    ho sfruttato quelle librerie ma la visita dell'albero non funziona, e non riesco a venirne a capo.. perciò cercavo un modo alternativo per poter visitare l'albero_dijkstra.

    L'algoritmo di Dijkstra che ho trovato in queste librerie restituisce l'albero dei cammini minimi in un oggetto di tipo Albero<vertice*> passato come parametro per riferimento, solo che compilando mi dice di non trovare il percorso.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Ho unito le discussioni relative all'algoritmo per non creare meno dispersione delle informazioni.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Sempre nel problema relativo all'algoritmo di dijkstra.. nel file albero.h ho trovato queste righe che non mi so spiegare.. sapete aiutarmi?

    nodo<Chiave>* padre(nodo<Chiave>* v = 0) const;
    nodo<Chiave>* figli(nodo<Chiave>* v) const;

  10. #10
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    codice:
    Algoritmo di Dijsktra
    
    N -> Numero dei nodi
    Distanza() -> Vettore che contiene le distanze minime
    Nodo_Visitato() -> Vettore che contiene la lista dei nodi visitati
    Lista_Nodi_Precedenti() -> Vettore che contiene la lista dei nodi precedenti
    S -> Nodo di partenza
    G()() -> Grafo orientato
    
    Per i da 0 a N
      Distanza(i) = INFINITO   
      Nodo_Visitato(i) =  Falso
      Lista_Nodi_Precedenti(i) =  -1
    
    Distanza(S) = 0
    
    Fai
      B = INFINITO
    
      Per i da 0 a N
        Se Nodo_Visitato (i) = Falso
          Se Distanza(i) < B
            B =  Distanza(i)
            j = i
    
      Se B ≠ INFINITO  
        Nodo_Visitato (j) = Vero
    
      Per i da 0 a N
        Se esiste l’arco G(j)(i)
          Se Distanza(i) > [Distanza(j) + G(j)(i)]
            Distanza(i) =  Distanza(j) + G(j)(i)
            Lista_Nodi_Precedenti(i) =  j
    Mentre B ≠ INFINITO
    prova a codificare questo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.