Skip to main content

Dijkstra’s Algorithm Explained


Dijkstra’s Algorithm Explained

Dijkstra’s algorithm is used to find the minimum cost path from a single source node to all other nodes in a graph with non-negative edge weights.

Unlike Floyd–Warshall (all pairs), Dijkstra focuses on one starting point.

For Example

  • Each letter (az) is a node
  • Each allowed transformation is a directed edge
  • Each edge has a cost
  • We want the cheapest cost from a source letter to all others

1. Think of Letters as Cities

Imagine each letter is a city and each transformation is a one-way road with a toll.

a → b (2)
a → c (4)
b → c (1)
c → d (3)

You start in city a and want to find the cheapest way to reach every other city.

2. Distance Array

We maintain an array:

dist[x] = minimum cost to reach x from the source

Initial setup:

  • dist[source] = 0
  • All other distances = infinity (∞)
  • No node has been visited yet

Example (source = a):

a: 0
b: ∞
c: ∞
d: ∞

3. The Core Idea

Always expand the currently cheapest unvisited node.

  1. Pick the unvisited node with the smallest known distance
  2. Try to improve distances to its neighbors
  3. Mark the node as visited (finalized)

Once a node is visited, its shortest distance is guaranteed.

4. Relaxation Step

When we move from node u to neighbor v:

if dist[u] + cost(u → v) < dist[v]:
    dist[v] = dist[u] + cost(u → v)

This process is called relaxation.

5. Step-by-Step Example

Graph:

a → b (2)
a → c (4)
b → c (1)
c → d (3)

Step 1: Start at a

dist[a] = 0
dist[b] = 2
dist[c] = 4
dist[d] = ∞

Mark a as visited.

Step 2: Visit b

Check b → c:

2 + 1 = 3 < 4

Update:

dist[c] = 3

Mark b as visited.

Step 3: Visit c

Check c → d:

3 + 3 = 6

Update:

dist[d] = 6

6. Final Distances

a → a = 0
a → b = 2
a → c = 3
a → d = 6

7. Why It Always Works

  • Edge costs are non-negative
  • The smallest unvisited distance is always optimal
  • Once a node is finalized, no cheaper path can appear later

This greedy choice is provably correct.

8. Pseudocode

initialize dist[] with infinity
dist[source] = 0
priority queue pq
pq.push(source, 0)

while pq not empty:
    u = node with smallest dist
    if u is visited:
        continue
    mark u as visited

    for each neighbor v of u:
        if dist[u] + cost(u → v) < dist[v]:
            dist[v] = dist[u] + cost(u → v)
            pq.push(v, dist[v])

9. When to Use Dijkstra

Use Dijkstra when:

  • You need shortest paths from one source
  • All edge weights are non-negative

Do NOT use when:

  • Negative edge weights exist (use Bellman–Ford)
  • You need all-pairs shortest paths (use Floyd–Warshall)

Further Reading



Contact Us

Name

Email *

Message *

Popular Posts

Hybrid Beamforming | Page 1

Beamforming Techniques Hybrid Beamforming... Page 1 | Page 2 | Hybrid Beamforming: Hybrid beam formation was developed to address some of the limitations of digital pre-coding approaches. Every antenna element is connected to an RF chain in digital pre-coding (beam forming) method. We also know that each RF chain is in charge of providing a separate data stream between the transmitter and the receiver. We know that a larger number of independent data streams leads to higher data rates. It has a spatial multiplexing feature for MIMO. As a result, we may assume that switching from MIMO to massive MIMO will benefit us more in terms of spatial multiplexing in massive MIMO, where each antenna is coupled to a single RF chain. We'll proceed with a definition of hybrid beam forming. Overview of hybrid beam forming with example: Unlike digital beam forming, more than one antenna element is connected to a single RF chain in hybr...

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. ๐Ÿ“ก ASK Simulator ๐Ÿ“ถ FSK Simulator ๐ŸŽš️ BPSK Simulator ๐Ÿ“š More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

RMS Delay Spread, Excess Delay Spread and Multi-path ...(with MATLAB + Simulator)

๐Ÿ“˜ Overview of Delay Spread and Multi-path ๐Ÿงฎ Excess Delay spread ๐Ÿงฎ Power delay Profile ๐Ÿงฎ RMS Delay Spread ๐Ÿ“š Further Reading ๐Ÿ“‚ Other Topics on RMS Delay Spread, Excess Delay ... ๐Ÿงฎ Multipath Components or MPCs ๐Ÿงฎ Online Simulator for Calculating RMS Delay Spread ๐Ÿงฎ Why is there significant multipath in the case of very high frequencies? ๐Ÿงฎ Why RMS Delay Spread is essential for wireless communication? ๐Ÿงฎ Why the Power Delay Profile is essential? ๐Ÿงฎ MATLAB Codes for Calculating Different Types of delay Spreads Delay Spread, Excess Delay Spread, and Multipath (MPCs) The fundamental distinction between wireless and wired connections is that in wireless connections signal reaches at receiver thru multipath signal propagation rather than directed transmission like co-axial cable. Wireless Communication has no set communication path between the transmitter and the receiver. The line...

Amplitude Shift Keying (ASK) Modulation & Demodulation (with Simulation)

Amplitude Shift Keying (ASK): Signal Analysis and Characterization Theoretical Overview: Amplitude Shift Keying (ASK) represents a primary digital modulation technique wherein information is encoded through discrete variations in the carrier signal's instantaneous amplitude. In a Binary ASK (BASK) framework, the modulation process maps binary data onto two distinct amplitude levels. Specifically, the binary '1' (mark) is conveyed by a sinusoidal carrier with amplitude A c and frequency f c over a bit interval T b , while the binary '0' (space) is represented by a null signal state. This particular signaling method is widely recognized as On-Off Keying (OOK) . It is technically realized by gating a carrier oscillator with a unipolar baseband sequence, effectively performing a product modulation that shifts the baseband spectrum to the carrier frequency. ASK Transmitter Architecture: ...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions ๐Ÿ“‹ Exam Pattern ๐Ÿ’ก Preparation Tips ❓ FAQs ๐Ÿ“Š Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) ๐Ÿ“ฅ Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading ๐Ÿ“‚ View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

Frequency Shift Keying (FSK) Modulation & Demodulation (with Simulation)

Frequency Shift Keying (FSK) Theoretical Foundations: Frequency Shift Keying (FSK) is a discrete frequency modulation scheme wherein the digital information is encoded via instantaneous shifts in the carrier signal's frequency. The fundamental implementation is Binary FSK (BFSK), which maps binary data onto two distinct, discrete spectral states. A binary '1' (the "mark" state) is represented by a carrier frequency \( f_1 \), while a binary '0' (the "space" state) corresponds to frequency \( f_2 \). Each symbol is sustained for a bit interval denoted by \( T_b \). FSK Transmitter Characterization: The mathematical model for the modulated BFSK output \( s(t) \) is defined as: \[ s(t) = \begin{cases} A_c \cos(2\pi f_1 t), & \text{for } m = 1 \\ A_c \cos(2\pi f_2 t), & \text{for } m = 0 \end{cases} \] ...

Advanced M-ary Modulation Simulator: Constellation, min dist, Efficiency, SER, EVM (RMS)

Advanced M-ary Communication Lab Analytical & Statistical Performance of Digital Modulation Theoretical Probability of Error (\(P_s\)) \[ P_s = Q\left(\sqrt{\frac{2 E_b}{N_0}}\right) \] Modulation (M-ary) BPSK (M=2) QPSK (M=4) 8-PSK (M=8) 16-QAM (M=16) 64-QAM (M=64) 256-QAM (M=256) SNR (\(E_b/N_0\)): 12 dB Efficiency 2 bps/Hz Min Dist (\(d_{min}\)) 1.41 Symbol Error 1.2e-5 EVM (RMS) 0.0% Constellation Diagram Noise PDF & Decision Tail 1. Geometric Mapping ...

MATLAB Code for Rms Delay Spread

RMS delay spread is crucial when you need to know how much the signal is dispersed in time due to multipath propagation, the spread (variance) around the average. In high-data-rate systems like LTE, 5G, or Wi-Fi, even small time dispersions can cause ISI. RMS delay spread is directly related to the amount of ISI in such systems. RMS Delay Spread [↗] Delay Spread Calculator Enter delays (ns) separated by commas: Enter powers (dB) separated by commas: Calculate   The above calculator Converts Power to Linear Scale: It correctly converts the power values from decibels (dB) to a linear scale. Calculates Mean Delay: It accurately computes the mean excess delay, which is the first moment of the power delay profile. Calculates RMS Delay Spread: It correctly calculates the RMS delay spread, defined as the square root of the second central moment of the power delay profile.   MATLAB Code  clc...