Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    7

    Algoritmo Dijkstra/Bellman-Ford [JAVA/C]

    Salve, io dovrei implementare in un linguaggio a piacere uno di questi due algoritmi. Io conosco come linguaggi il C e un po il Java. Voi cosa mi consigliate? Perchè non saprei proprio come implementarli, riuscireste a darmi qualche dritta perfavore? Io sarei più orientato verso il C perchè lo conosco meglio, ma magari in java esiste qualche struttura dati già fatta che non conosco e molto comoda.
    Grazie, saluti.

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    In Java esistono dei framework che contengono classi in grado di rappresentare nodi e alberi (forse esistono anche nel framework di base, non ne sono sicuro).
    Anche non usando classi già fatte sei più facilitato con la programmazione ad oggetti, ma anche in C si può fare benissimo.
    La tua scelta dovrebbe considerare in quale linguaggio sai implementare meglio i nodi e i grafi, quindi se preferisci la facilità di Java con la quale si creano i riferimenti, senza rischiare segmentation fault, e sai scrivere delle classi, scegli Java.Se non ci capisci molto di OOP e preferisci usare delle strutture, scegli il C.

    Quando hai deciso posta il codice se ci sono degli errori nell' algoritmo o nell' implementazione dei grafi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    7
    che struttura dati mi consigliate per rappresentare meglio un grafo? tenendo conto che come dato devo avere anche il peso dell'arco, oltre al numero del nodo.
    Grazie.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Ci sono tanti modi: liste di adiacenza, matrici di adiacenza ...
    Un esempio:

    codice:
    typedef struct __nodo
    {
        void* valore;
        int numero;
        void** nodi_adiacenti;
    }nodo;
    
    typedef struct __arco
    {
        nodo* nodo_adiacente;
        int peso;
    }arco;
    In questo caso nodi_adiacenti è un array di puntatori ad arco.
    Ti conviene usare Java per avere già a disposizione classi come ArrayList e compagnia bella.

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.