Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
DEEBOT T90 PRO OMNI abbina un sistema di aspirazione basato su tecnologia BLAST ad un rullo di lavaggio dei pavimenti dalla larghezza elevata, capace di trattare al meglio le superfici di casa minimizzando i tempi di lavoro. Un robot completo che riesce anche ad essere sottile e garantire automazione ed efficienza nelle operazioni di pulizia di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2011, 18:20   #1
Jim Stacey
Junior Member
 
Iscritto dal: Mar 2008
Messaggi: 11
Implementare Algoritmo Di Dijkstra?

Salve a tutti. Mi trovo molto in difficoltà nell'implementazione (in linguaggio JAVA), del noto algoritmo di Dijkstra, utilizzato per trovare il cammino minimo dal nodo di partenza a quello di arrivo (http://it.wikipedia.org/wiki/Algoritmo_di_Dijkstra). Tralasciando il linguaggio di programmazione (di cui ho conoscenze appena di base, acquisite durante un corso universitario) che uso, mi interesserebbe soprattutto capire il tipo di struttura dati migliore da utilizzare e come utilizzarla, in particolare:

- come faccio ad implementare un grafo? (nodi, archi...)
- come faccio ad inizializzare un grafo casuale formato da n nodi?
ad esempio quando avvio il programma, inizializzo il mio grafo con, per esempio, 10 nodi, ma poi come faccio a realizzare i collegamenti tra nodi in maniera casuale senza che sia io a realizzare i collegamenti ogni volta che avvio il mio programma?

Grazie in anticipo per le risposte!
Jim Stacey è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2011, 18:30   #2
Floris
Senior Member
 
L'Avatar di Floris
 
Iscritto dal: Jan 2007
Messaggi: 2267
Solitamente per implementare un grafo diretto con n nodi conviene implementare una matrice binaria nxn dove 1 nella posizione i,j significa che vi è un arco dal nodo i al nodo j (se il grfo non è diretto la matrice è simmetrica).
A questo punto crei gli archi casualmente tramite una funzione randomizzante in due modi:
- o per ogni casella della matrice produci randomicamente un intero in {0,1}
- oppure se vuoi m archi produci randomicamente m coppie (i,j) di numeri interi in [0,n).
__________________
Concluso con:...
Floris è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2011, 19:04   #3
Jim Stacey
Junior Member
 
Iscritto dal: Mar 2008
Messaggi: 11
...

Grazie per la dritta...in pratica è una matrice di adiacenza...! Esiste una libreria in Java per realizzare Grafi?
Jim Stacey è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2011, 10:12   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Jim Stacey Guarda i messaggi
Grazie per la dritta...in pratica è una matrice di adiacenza...! Esiste una libreria in Java per realizzare Grafi?
JGraphT per le strutture dati e gli algoritmi.
JGraph invece se ti serve anche visualizzare i grafi in componenti grafici Swing.
(oppure, in questo secondo caso, usi JGraphT e i suoi wrapper per JGraph).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Starlink cambia le tariffe anche per i v...
Monitor in offerta su Amazon: dal gaming...
Core i7-13645HX spunta dal nulla: un nuo...
NVIDIA mette Rubin CPX in un angolo: pun...
Oral-B iO in sconto su Amazon: spazzolin...
OnePlus non si ferma: è in arrivo...
7 robot aspirapolvere bestseller al prez...
Apple completa una nuova acquisizione: &...
Logitech taglia i prezzi delle periferic...
JD.com punta sull'Europa e sfida Amazon ...
Blink e Ring in forte sconto su Amazon: ...
Microsoft potrebbe fare causa ad OpenAI ...
DAZN aumenta i prezzi: fino a 24 euro al...
LG OLED evo G5 da 55'' scende a 1.299€: ...
Spotify lancia la Exclusive Mode per un'...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v