Skip to content

Commit 04d9936

Browse files
New Commit
1 parent 95b831d commit 04d9936

File tree

5 files changed

+15
-22
lines changed

5 files changed

+15
-22
lines changed

Bellman_Ford.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include<stdio.h>
2+
#include<stdlib.h>

Prim's_algo.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include<string.h>
44

55
#define INF 9999999
6-
#define V 5
6+
#define V 6
77

88
//The adjacency matrix
99
/*int G[V][V] = {
@@ -16,7 +16,7 @@
1616

1717
void addEdge(int u, int v, int adjMatrix[V][V]){
1818
int w;
19-
printf("Enter weight of edge between %d and %d : ", u, v);
19+
printf("Enter weight of edge between %d and %d : ", u+1, v+1);
2020
scanf("%d", &w);
2121
adjMatrix[u][v] = w;
2222
adjMatrix[v][u] = w;
@@ -75,7 +75,7 @@ int main(){
7575
}
7676
}
7777
}
78-
printf("%d - %d : %d\n", x, y, G[x][y]);
78+
printf("%d - %d : %d\n", x+1, y+1, G[x][y]);
7979
sum += G[x][y];
8080
selected[y] = true;
8181
no_edge++;

Prim's_algo.exe

0 Bytes
Binary file not shown.

matrix_chain_multi.c

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,31 @@
11
#include<stdio.h>
22
#define inf 99999
33
int n;
4-
int Chain_multi(int P[], int s[n-1][n-1], int n) // P is the array of dimensions
4+
int Chain_multi(int P[], int n) // P is the array of dimensions
55
{
66
int m[n][n];
7-
87
int i, j, k, L, q;
9-
10-
// cost is zero when multiplying one matrix.
8+
119
for (i = 1; i < n; i++)
1210
m[i][i] = 0;
1311

14-
// L is chain length.
1512
for (L = 2; L < n; L++) {
1613
for (i = 1; i < n - L + 1; i++)
1714
{
1815
j = i + L - 1;
1916
m[i][j] = inf;
20-
2117
for (k = i; k <= j - 1; k++)
2218
{
2319
// q = cost/scalar multiplications
24-
q = m[i][k] + m[k + 1][j] + P[i - 1] * P[k] * P[j];
20+
q = m[i][k] + m[k + 1][j]
21+
+ P[i - 1] * P[k] * P[j];
2522
if (q < m[i][j])
2623
m[i][j] = q;
27-
s[i][j] = k;
2824
}
2925
}
3026
}
3127

3228
return m[1][n - 1];
33-
// return m;
3429
}
3530

3631
void print_Optimal_parens(int s[n-1][n-1], int i, int j){
@@ -52,21 +47,17 @@ int main(){
5247
printf("Enter dimensions of the matrices\n");
5348
for(i=0;i<n;i++){
5449
printf("Matrix A%d: ", i+1);
55-
scanf("%d %d", dim1, dim2);
56-
/*if(!P[i]) //prevents overriding
57-
{
58-
P[i] = dim1;
59-
P[i+1] = dim2;
60-
}
61-
else
62-
P[i+1] = dim2;*/
50+
scanf("%d %d", &dim1, &dim2);
51+
6352
P[i] = dim1;
6453
P[i+1] = dim2;
6554
}
6655

56+
for(i = 0; i<n+1; i++)printf("%d ", P[i]);
57+
printf("\n");
6758
int s[n-1][n-1];
68-
int m = Chain_multi(P, s, n);
59+
int m = Chain_multi(P, n+1);
6960
printf("\nMinimum number of multiplications = %d\n", m);
70-
print_Optimal_parens(s, 1, n);
61+
// print_Optimal_parens(s, 1, n);
7162
return 0;
7263
}

matrix_chain_multi.exe

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)