Single source shortest path Algorithm 1. Implement the algorithm 2. Write comments 3. Screenshot of output /// Single source shortest path #include

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Single source shortest path Algorithm

1. Implement the algorithm
2. Write comments
3. Screenshot of output

/// Single source shortest path
#include <stdio.h>
#define INFINITY 9999


void SingleSource(int graph[50][50], int qv, int start_ver);


void main()
{
    int graph[50][50],qv, start_ver;
    int i,j;


    printf("\nEnter the quantity of vertexes:");
    scanf("%d", &qv);


    printf("\nEnter the values for path costs matrix:\n");
    for(i=0; i< qv; i++)
        for(j=0; j<qv; j++)
        scanf("%d", &graph[i][j]);


    printf("\nEnter the starting vertex:");
    scanf("%d",&start_ver);


    SingleSource(graph, qv, start_ver);


    printf("\n\n\n");
    return 0;
}


void SingleSource(int graph[50][50], int qv, int start_ver)
{
    int eadgecost[50][50];
    int distance[20];
    int gen[50];
    int visited[50];
    int i,j;


    for(i=0; i<qv; i++)
        for(j=0; j<qv; j++)
        if (graph[i][j]==0) /// inserted single "=" instead of "=="
            ///==================================
            eadgecost[i][j]= INFINITY;
            else
                eadgecost[i][j] = graph[i][j];


    for(i=0; i<qv;i++)
    {
       distance[i]= eadgecost[start_ver][i];
       gen[i] = start_ver;
       visited[i]= 0;
    }
    distance[start_ver]=0;
    visited[start_ver] = 1;


    int count_round = 1;
    int minimum_dist;
    int ahead_ver;


    while(count_round < qv-1)
    {
        minimum_dist = INFINITY;


        for(i=0; i<qv; i++)
            if(distance[i] < minimum_dist&&!visited[i])
        {
            minimum_dist = distance[i];
            ahead_ver = i;
        }


        visited[ahead_ver] = 1;


        for (i=0; i<qv;i++)
            if(!visited[i])
            if(minimum_dist+eadgecost[ahead_ver][i] < distance[i])
        {
            distance[i] = minimum_dist + eadgecost[ahead_ver][i];
            gen[i] = ahead_ver;
        }


        count_round++;
    }




    for(i=0; i<qv; i++)
        if(i != start_ver)
    {
        printf("\nDistance of %d = %d", i, distance[i]);
        printf("\nShow Path = %d",i);


        j = i; /// inserted 'i=j' instead of 'j=i'
        /// =========================================
        do
        {
            j= gen[j];/// a->c->f
            printf("<<< %d",j);
        }while (j != start_ver);


        printf("\n");
        ///=========================
    }
}

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Single source shortest path
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education