Algoritmi di shortest path Dijkstra domande
Una raccolta di domande e risposte sui fondamenti e l'implementazione dell'algoritmo di Dijkstra, utile per studenti universitari in informatica.
Quiz(48 domande)
1. Quale delle seguenti applicazioni usa l'algoritmo di Dijkstra per ottimizzare i percorsi?
Termini in questo set(48)
Fondamenti dell'algoritmo di Dijkstra(16)
Qual è l'obiettivo dell'algoritmo di Dijkstra?
Trovare il percorso più breve da un nodo sorgente a tutti gli altri nodi in un grafo pesato.
Dijkstra lavora con grafi positivi? Vero o falso?
Vero. L'algoritmo di Dijkstra funziona correttamente solo con archi di peso positivo.
Cosa rappresenta il termine "nodo"?
Un punto nel grafo che può rappresentare città, intersezioni, o altri elementi.
Qual è il primo passo dell'algoritmo di Dijkstra?
Inizializzare i pesi di tutti i nodi a infinito, tranne il nodo sorgente che è zero.
Qual è la struttura dati principale usata da Dijkstra?
La coda di priorità, per selezionare il nodo con il peso minimo.
Come si aggiornano i pesi dei nodi?
Se un percorso attraverso un nodo è più breve, il peso viene aggiornato con il nuovo valore.
Dijkstra può trovare soluzioni ottimali in grafi non connessi?
No, Dijkstra non trova percorsi per nodi in componenti non connessi.
Qual è la complessità temporale dell'algoritmo usando una coda di priorità?
La complessità è , dove V è il numero di nodi e E il numero di archi.
Quando termina l'algoritmo di Dijkstra?
Quando tutti i nodi sono stati visitati e i loro pesi definitivi sono stati determinati.
Cosa succede se ci sono archi con peso negativo?
L'algoritmo di Dijkstra non garantisce un risultato corretto con pesi negativi.
Esempio pratico: nodo A a nodo C, costi 10 e 15.
Se A → B è 10 e B → C è 5, il percorso A → B → C ha costo 15 (minore di 15).
Qual è il ruolo del nodo sorgente?
Il nodo sorgente è il punto di partenza da cui calcolare i percorsi più brevi.
Qual è la differenza tra Dijkstra e Bellman-Ford?
Dijkstra gestisce solo pesi positivi; Bellman-Ford gestisce anche pesi negativi.
Quale proprietà dei cammini più brevi usa Dijkstra?
La proprietà del cammino ottimale: ogni sotto-percorso di un cammino più breve è anch'esso un cammino più breve.
Cosa si intende per "costo" in Dijkstra?
Il costo è il peso associato agli archi tra i nodi nel grafo.
Qual è la caratteristica principale dell'algoritmo di Dijkstra?
Trova il cammino più breve da un nodo sorgente a tutti gli altri nodi di un grafo pesato, non negativo, usando una strategia greedy.
Implementazione e complessità(16)
Qual è la complessità temporale di Dijkstra?
La complessità temporale è con una coda di priorità.
Vero o falso: Dijkstra funziona per grafi con pesi negativi.
Falso. Dijkstra non gestisce pesi negativi, altrimenti produce risultati errati.
Quale struttura dati è comune per l'implementazione?
La coda di priorità è utilizzata per gestire i nodi da esplorare.
Cosa rappresenta V ed E in Dijkstra?
V è il numero di vertici, E è il numero di archi nel grafo.
Qual è l'output dell'algoritmo?
L'output è un array delle distanze minime da un nodo sorgente a tutti gli altri nodi.
Qual è la differenza tra Dijkstra e Bellman-Ford?
Dijkstra è più veloce, , mentre Bellman-Ford gestisce pesi negativi con .
Perché Dijkstra è preferito per grafi non negativi?
Dijkstra garantisce soluzioni ottimali più rapidamente rispetto ad altri algoritmi in grafo non negativo.
Qual è la complessità spaziale di Dijkstra?
La complessità spaziale è per memorizzare le distanze e i predecessori.
Cosa succede se il grafo ha cicli negativi?
Dijkstra non può gestire cicli negativi e può restituire distanze errate.
Implementazione: quali algoritmi per la coda di priorità?
- Heap binario - Fibonacci heap - Array
Fill in the blank: Dijkstra utilizza una ______ per esplorare i nodi.
coda di priorità.
Cos'è un nodo visitato in Dijkstra?
Un nodo visitato ha una distanza finale e non verrà più aggiornato.
Qual è il ruolo del nodo sorgente?
Il nodo sorgente è il punto di partenza per calcolare le distanze minime.
Esempio: Distanza da A a B in un grafo.
Se A ha un arco diretto di peso 5 verso B, la distanza è 5.
Cosa significa 'relaxation' in Dijkstra?
Significa aggiornare la distanza minima di un nodo se si trova una via più corta.
Cosa determina la scelta del nodo successivo?
Il nodo con la distanza minima attualmente nota viene scelto per l'esplorazione.
Applicazioni dell'algoritmo(16)
Qual è un'applicazione pratica dell'algoritmo di Dijkstra?
Navigazione GPS per trovare il percorso più breve tra due località.
Dijkstra è usato in quale settore?
Trasporti, telecomunicazioni, e reti informatiche.
Verità o falsità: Dijkstra trova il percorso più breve in un grafo non pesato.
Falsità. Funziona solo con grafi pesati con valori non negativi.
Compara Dijkstra e Bellman-Ford.
Dijkstra: solo pesi non negativi; Bellman-Ford: gestisce pesi negativi.
Quale algoritmo aiuta nella gestione delle reti di computer?
L'algoritmo di Dijkstra è utilizzato per ottimizzare il routing nei pacchetti dati.
Completa: L'algoritmo di Dijkstra è efficace per ____ .
reti stradali e mappe digitali.
In quale scenario si utilizza Dijkstra?
Per ottimizzare il percorso di consegna in un servizio di logistica.
Quale applicazione in un videogioco può usare Dijkstra?
Navigazione NPC per muoversi in modo efficiente nel mondo di gioco.
Qual è un utilizzo di Dijkstra nella robotica?
Pianificazione del percorso per robot autonomi in ambienti complessi.
Dijkstra può essere usato in quali tipi di grafo?
Grafi diretti e indiretti con pesi non negativi.
Qual è una limitazione nell'uso di Dijkstra?
Non gestisce pesi negativi, il che limita alcuni grafo.
Dijkstra è utile per l'ottimizzazione dei percorsi in ____ .
sistemi di trasporto pubblico e pianificazione urbana.
Quale applicazione può usare Dijkstra nelle telecomunicazioni?
Ottimizzazione della rete per la trasmissione di dati.
Qual è un esempio di utilizzo in una rete stradale?
Calcolo del percorso più veloce per un viaggio in auto.
Quale problema del mondo reale risolve Dijkstra?
Il problema del cammino minimo in molte applicazioni pratiche.
Dijkstra è usato in robotica per ____ .
navigare autonomamente evitando ostacoli.
Domande in questo set(48)
1. Quale delle seguenti applicazioni usa l'algoritmo di Dijkstra per ottimizzare i percorsi?
2. Qual è lo scopo principale dell'algoritmo di Dijkstra?
3. Qual è la complessità temporale dell'algoritmo di Dijkstra utilizzando una coda di priorità?
4. Dove si applica l'algoritmo di Dijkstra nel settore dei trasporti?
5. Dijkstra funziona correttamente con archi di peso negativo?
6. Dijkstra può essere utilizzato su grafi con pesi negativi?
7. Quale affermazione sul grafo è vera per l'algoritmo di Dijkstra?
8. Quale delle seguenti affermazioni descrive meglio un nodo in un grafo?
9. Quale delle seguenti strutture dati è frequentemente utilizzata per implementare Dijkstra?
10. Qual è una differenza chiave tra Dijkstra e l'algoritmo di Bellman-Ford?
11. Qual è la prima operazione da eseguire nell'algoritmo di Dijkstra?
12. Cosa rappresentano V ed E nell'algoritmo di Dijkstra?
13. In quale contesto Dijkstra è comunemente usato in informatica?
14. Qual è la struttura dati principale utilizzata nell'algoritmo di Dijkstra?
15. Qual è l'output dell'algoritmo di Dijkstra?
16. Dijkstra è utile per calcolare percorsi in quale ambito urbano?
17. Cosa succede quando si trova un percorso più breve per un nodo già visitato?
18. In che modo Dijkstra si differenzia dall'algoritmo di Bellman-Ford?
19. Quale scenario non utilizza l'algoritmo di Dijkstra?
20. Qual è la complessità temporale dell'algoritmo di Dijkstra usando una coda di priorità?
21. Perché Dijkstra è preferito per grafi con pesi non negativi?
22. Qual è un'applicazione dell'algoritmo di Dijkstra nella robotica?
23. Quando l'algoritmo di Dijkstra termina?
24. Qual è la complessità spaziale dell'algoritmo di Dijkstra?
25. Quale utilizzo di Dijkstra è tipico nelle telecomunicazioni?
26. In un grafo non connesso, Dijkstra può trovare tutti i percorsi più brevi?
27. Cosa succede se un grafo ha cicli negativi durante l'esecuzione di Dijkstra?
28. Qual è una limitazione dell'algoritmo di Dijkstra?
29. Che cosa rappresenta il costo in Dijkstra?
30. Quali algoritmi possono essere utilizzati per la coda di priorità in Dijkstra?
31. Quale tipo di grafo è adatto per l'algoritmo di Dijkstra?
32. Qual è una caratteristica fondamentale dell'algoritmo di Dijkstra?
33. Completa la frase: Dijkstra utilizza una ______ per esplorare i nodi.
34. Dijkstra è utile per calcolare percorsi in quale situazione pratica?
35. Qual è il ruolo del nodo sorgente nell'algoritmo di Dijkstra?
36. Cosa significa 'nodo visitato' in Dijkstra?
37. Quale applicazione di Dijkstra è rilevante in un videogioco?
38. Qual è il principale vantaggio di Dijkstra rispetto all'algoritmo di Bellman-Ford?
39. Qual è il ruolo del nodo sorgente nell'algoritmo di Dijkstra?
40. Qual è un'area in cui Dijkstra è ampiamente utilizzato?
41. Cosa si intende per la proprietà del cammino ottimale utilizzata in Dijkstra?
42. Se un grafo ha un arco diretto di peso 5 da A a B, quale sarà la distanza da A a B?
43. Qual è un esempio di problema che Dijkstra risolve nel mondo reale?
44. Quale delle seguenti opzioni NON è una fase dell'algoritmo di Dijkstra?
45. Cosa si intende per 'relaxation' in Dijkstra?
46. Quale delle seguenti situazioni rappresenta un uso non appropriato dell'algoritmo di Dijkstra?
47. In quale situazione Dijkstra potrebbe fallire nel fornire un percorso corretto?
48. Cosa determina quale nodo viene scelto per la prossima esplorazione in Dijkstra?
Set correlati
Informatyka studia – Algorytmy i struktury danych
Dynamische Programmierung Prüfungsfragen
Klausur: O-Notation Landau-Symbole
Mergesort und Quicksort Laufzeit Definitionen
Halteproblem Entscheidbarkeit Klausurvorbereitung
Abitur: Komplexität grob
Sortieren einfach erklärt Karteikarten
Pumping-Lemma reguläre Sprachen Prüfungsfragen
Crea il tuo set di studio
Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.

