Thursday, 27 March 2014

Dijkstra's shortest value  algorithm
#include<iostream>
using namespace std;

const int INF =9999;

int main(){
    int arr[4][4];
    int cost[4][4]= {
                        7 , 5 , 0 , 0,
                        7 , 0 , 0 , 2,
                        0 , 3 , 0 , 0,
                        4 , 0 , 1 , 0                        
                    };
                    
    int i, j ,k, n =4;
    
    for (i =0;i<n ;i++){
    for (j = 0;j<n;j++)
    {
        if(cost[i][j]== 0)
        arr[i][j]= INF;
        else
        arr[i][j] = cost [i][j];
    }
    }
    
    cout << "Adjacency matrix for cost of edges \n";
    for (i =0;i<n ;i++){
    for (j = 0;j<n;j++)
    cout << arr[i][j] << "\t" ;
    cout << "\n";
    
    }
    for(k=0;k<n;k++){
        for (i =0;i<n ;i++){
            for (j = 0;j<n;j++){
                if(arr[i][j]>arr[i][k]+arr[k][j])
                arr[i][j] = arr[i][k]+arr[k][j];
            }
            
        }
    }
    
    cout << "\n Adjacency matrix of lowest cost between the vertices : \n";
    for (i =0;i<n ;i++){
        for (j = 0;j<n;j++)
            cout << arr[i][j] << "\t" ;
            cout << "\n";
        
    }
}  

    
    
    
    

No comments:

Post a Comment