Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    21

    [C++] Rappresentare grafo letto da input

    Salve a tutti, vengo subito al problema, può sembrare banale ma ci sto sbattendo la testa da un paio di giorni, sapendo che devo calcolare un minimo albero ricoprente (e quindi la mia rappresentazione deve adattarsi a questo problema - ma non è questo l'argomento del topic), ho in input una serie di casi test del tipo:

    N (un intero positivo che rappresenta gli archi del grafo)
    X - Y distanza
    Y - Z distanza
    X - Z distanza

    non mi viene in mente niente per rappresentare in maniera efficiente questo tipo di input, anche perché non so di preciso quanti vertici potrò avere, essendo il grafo connesso con N archi posso teoricamente avere da N+1 a N*2 vertici (correggetemi se dico qualche cazzata). Il problema che mi affligge di più è: preso un vertice X dall'input controllare se è già presente nella mia rappresentazione, contando che N può arrivare fino a 1.000.000, può rilevarsi molto costoso se non implementato efficientemente...

    Mi affido a voi per qualche suggerimento...

  2. #2
    Ciao,
    per questo tipo di problemi si usano le hashmap, che permettono in modo quasi immediato di controllare che una data chiave sia o meno presente nella collezione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    21
    Ciao, effettivamente avevo pensato ad una soluzione del genere, ma poi sul concreto non riuscivo ad astrarre il concetto di tabella hash per rappresentare un grafo. Così facendo non si perderebbe parte del potere rappresentativo? Risolverei il problema dell'insert/search ma riuscirei comunque a scrivere degli algoritmi efficienti sui grafi rappresentati mediante mappa hash? Perché per quanto ne so io al momento stiamo parlando di un vettore i cui elementi puntano a liste di oggetti (magari devo approfondire l'argomento)..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.