Posts

Showing posts from May, 2023

Dijkstra

 Dijkstra #include <stdio.h> #include <stdlib.h> #include <limits.h> #define V 9 int minDistance ( int dist [] , int visited [] ) {     int min = INT_MAX , min_index ;     for ( int i = 0 ; i < V ; i ++ ) {         if ( visited [ i ] == 0 && dist [ i ] < min ) {             min = dist [ i ];             min_index = i ;         }     }     return min_index ; } void printSolution ( int dist [] ) {     printf ( "Vertex \t\t Distance From Source \n " );     for ( int i = 0 ; i < V ; i ++ ) {         printf ( " %d \t\t %d \n " , i , dist [ i ]);     } } void dijkstra ( int graph [ V ][ V ], int source ) {     int dist [ V ];     int visited [ V ];     for ( int i = 0 ; i < V ; i ++ ) { ...

Dijkastra

 Dijkstra by vishwakaarma #include <stdio.h> #include <stdlib.h> int calculateMinDistance ( int cost [ 10 ][ 10 ], int distance [ 10 ], int path [ 10 ][ 10 ], int n , int v , int p , int row , int column ); int main () {     int cost [ 10 ][ 10 ], distance [ 10 ], path [ 10 ][ 10 ], n , p , i , j , v , min , row , column , index = 1 ;     printf ( "enter the nodes:" );     scanf ( " %d " , & n );     printf ( "enter the cost matrix:" );     for ( i = 1 ; i <= n ; i ++ )     {         for ( j = 1 ; j <= n ; j ++ )         {             scanf ( " %d " , & cost [ i ][ j ]);         }     }     printf ( "enter the node to visit:" );     scanf ( " %d " , & v );     printf ( "enter the path :" );     scanf ( " %d " , & p );   ...

Knapsack 0/1

 Knapsack 0/1 #include <stdio.h> void sort ( int n , float p [] , float w [] , float v [] ) {     int i , j , temp ;     for ( i = 0 ; i < n ; i ++ )     {         for ( j = i + 1 ; j < n ; j ++ )         {             if ( p [ i ] < p [ j ])             {                 temp = p [ j ];                 p [ j ] = p [ i ];                 p [ j ] = temp ;                 temp = w [ j ];                 w [ j ] = w [ i ];                 w [ i ] = temp ;                                 temp = v [ j ];      ...

MaxMin

 Maxmin #include <stdio.h> int a [ 100 ]; int max , min ; void max_min ( int i , int j ) {     int max1 , min1 , mid ;     if ( i == j ) {         max = min = a [ i ];     } else {         if ( i == j - 1 ) {             if ( a [ i ] < a [ j ]) {                 max = a [ j ];                 min = a [ i ];             } else {                 max = a [ i ];                 min = a [ j ];             }         } else {             mid = ( i + j ) / 2 ;             max_min ( i , mid );             max1 = max ; ...

Fractional Knapsack

 Fractional Knapsack #include <stdio.h> #include <stdlib.h> typedef struct {     double value ;     double weight ; } Item ; int compare ( const void * a , const void * b ) {     Item * itemA = ( Item * ) a ;     Item * itemB = ( Item * ) b ;     double ratioA = itemA -> value / itemA -> weight ;     double ratioB = itemB -> value / itemB -> weight ;     if ( ratioA > ratioB )         return - 1 ;     else if ( ratioA < ratioB )         return 1 ;     else         return 0 ; } double fractionalKnapsack ( int capacity , Item items [] , int n ) {     qsort ( items , n , sizeof ( Item ), compare );     double totalValue = 0.0 ;     int i ;     for ( i = 0 ; i < n ; i ++ ) {         if ( items [ i...

Merge Sort

 Merge Sort #include <stdio.h> void merge ( int A [] , int mid , int low , int high ) {     int i , j , k , B [ 100 ];     i = low ;     j = mid + 1 ;     k = low ;     while ( i <= mid && j <= high )     {         if ( A [ i ] < A [ j ])         {             B [ k ] = A [ i ];             i ++ ;             k ++ ;         }         else         {             B [ k ] = A [ j ];             j ++ ;             k ++ ;         }     }     while ( i <= mid )     {         B [ k ] = A [ i ];         k ++ ; ...

Quick Sort

 Program of Quick Sort #include <stdio.h> void printArray ( int A [] , int n ) {     for ( int i = 0 ; i < n ; i ++ )     {         printf ( " %d " , A [ i ]);     }     printf ( " \n " ); } int partition ( int A [] , int low , int high ) {     int pivot = A [ low ];     int i = low + 1 ;     int j = high ;     int temp ;     do     {         while ( A [ i ] <= pivot )         {             i ++ ;         }         while ( A [ j ] > pivot )         {             j -- ;         }         if ( i < j )         {             temp = A [ i ];         ...