ada lab
ada lab
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int i, j, min_idx;
min_idx = i;
min_idx = j;
arr[min_idx] = arr[i];
arr[i] = temp;
}
}int main()
int n;
scanf("%d", &n);
return 1;
if (arr == NULL)
return 1;
generateRandomNumbers(arr, n);
selectionSort(arr, n);
free(arr);
return 0;
10) Quick
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void swap(int* a, int* b)
int t = *a;
*a = *b;
*b = t;
int i = low + 1;
int j = high;
while (1)
i++;
j--;
if (i >= j)
break;
swap(&arr[i], &arr[j]);
swap(&arr[low], &arr[j]);
return j;
quickSort(arr, pi + 1, high);
int i;
int main()
int n;
scanf("%d", &n);
if (n <= 5000)
return 1;
if (arr == NULL)
generateRandomNumbers(arr, n);
quickSort(arr, 0, n - 1);
free(arr);
return 0;
11) Merge
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int i, j, k;
i = 0;
j = 0;
k = left;
arr[k] = L[i];
i++;
else
arr[k] = R[j];
j++;
k++;
arr[k] = L[i];
i++;
k++;
arr[k] = R[j];
j++;
k++;
free(L);
free(R);
int main()
int n;
scanf("%d", &n);
if (n <= 5000)
return 1;
}
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL)
generateRandomArray(arr, n);
mergeSort(arr, 0, n - 1);
free(arr);
return 0;
}
5) Topological
#include<stdio.h>
#include<conio.h>
int temp[10],k=0;
int i,j;
if(id[i]==0)
{
id[i]=-1;
temp[++k]=i;
id[j]--;
i=0;
void main()
int a[10][10],id[10],n,i,j;
scanf("%d",&n);
id[i]=0;
scanf("%d",&a[i][j]);
if(a[i][j]==1)
id[j]++;
sort(a,id,n);
if(k!=n)
else
printf("%d ",temp[i]);
getch();
6) 0/1 kanpsack
#include<stdio.h>
int w[10],p[10],n;
return a>b?a:b;
return max(knap(i+1,m),knap(i+1,m-w[i])+p[i]);
int main()
int m,i,max_profit;
scanf("%d",&n);
printf("\nEnter the knapsack capacity:");
scanf("%d",&m);
scanf("%d %d",&p[i],&w[i]);
max_profit=knap(1,m);
printf("\nMax profit=%d",max_profit);
return 0;
8)Subset
#include<stdio.h>
#define MAX 10
int s[MAX],x[MAX],d;
int i;
x[k]=1;
if((p+s[k])==d)
if(x[i]==1)
printf("%d ",s[i]);
printf("\n");
else if(p+s[k]+s[k+1]<=d)
sumofsub(p+s[k],k+1,r-s[k]);
{
x[k]=0;
sumofsub(p,k+1,r-s[k]);
int main()
int i,n,sum=0;
scanf("%d",&n);
scanf("%d",&s[i]);
scanf("%d",&d);
sum=sum+s[i];
if(sum<d || s[1]>d)
else
sumofsub(0,1,sum);
return 0;
3 A)Floyd
#include<stdio.h>
#include<conio.h>
{
return(a<b)?a:b;
int i,j,k;
p[i][j]=min(p[i][j],p[i][k]+p[k][j]);
void main()
int a[10][10],n,i,j;
scanf("%d",&n);
scanf("%d",&a[i][j]);
floyd(a,n);
printf("%d ",a[i][j]);
printf("\n");
getch();}
3 B)Warshal
#include<stdio.h>
int i,j,k;
int main()
int a[10][10],n,i,j;
scanf("%d",&n);
scanf("%d",&a[i][j]);
warsh(a,n);
printf("%d ",a[i][j]);
printf("\n");
return 0;}
7)Greedy
#include <stdio.h>
#define MAX 50
double maxprofit;
int n, m, i;
double ratio[MAX];
ratio[i] = ratio[j];
ratio[j] = temp;
w[i] = w[j];
w[j] = temp2;
temp2 = p[i];
p[i] = p[j];
p[j] = temp2;
}
int currentWeight = 0;
maxprofit = 0.0;
currentWeight += w[i];
maxprofit += p[i];
else
break;
printf("%d\t", x[i]);
int main()
scanf("%d", &w[i]);
scanf("%d", &p[i]);
scanf("%d", &m);
greedyKnapsack(n, w, p, m);
return 0;
1)Kruskal
int find(int v)
while (p[v])
v = p[v];
return v;
p[j] = i;
void kruskal(int n)
{
int i, j, k, u, v, min, res1, res2, sum = 0;
min = INF;
if (i == j) continue;
u = find(i);
v = find(j);
if (u != v)
res1 = i;
res2 = j;
min = c[i][j];
union1(res1, find(res2));
t[k][1] = res1;
t[k][2] = res2;
int main()
int i, j, n;
p[i] = 0;
kruskal(n);
return 0;
2)Prims
#include<stdio.h>
int v[10],i,j,sum=0,ver[10],d[10],min,u;
ver[i]=s;
d[i]=c[s][i];
v[i]=0;
v[s]=1;
min=INF;
min=d[j];
u=j;
v[u]=1;
sum=sum+d[u];
d[j]=c[u][j];
ver[j]=u;
return sum;
void main()
int c[10][10],i,j,res,s,n;
printf("\nEnter n value:");
scanf("%d",&n);
scanf("%d",&c[i][j]);
scanf("%d",&s);
res=prim(c,n,s);
printf("\nCost=%d",res);
getch();
4)Dijkstras
#include<stdio.h>
int v[10],min,u,i,j;
d[i]=c[s][i];
v[i]=0;
v[s]=1;
min=INF;
min=d[j];
u=j;
v[u]=1;
d[j]=d[u]+c[u][j];
int main()
int c[10][10],d[10],i,j,s,sum,n;
printf("\nEnter n value:");
scanf("%d",&n);
scanf("%d",&c[i][j]);
scanf("%d",&s);
dijkstra(c,n,s,d);
return 0;
12)N-Queens
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
printf("\n");
int i, j;
if (board[row][i])
return false;
if (board[i][j])
return false;
}
if (board[i][j])
return false;
return true;
if (col >= N)
return true;
if (isSafe(board, N, i, col))
board[i][col] = 1;
return true;
board[i][col] = 0; // BACKTRACK
}
}
return false;
bool solveNQ(int N)
board[i][j] = 0;
if (!solveNQUtil(board, N, 0))
free(board[i]);
free(board);
return false;
printSolution(board, N);
free(board[i]);
}
free(board);
return true;
int main()
int N;
scanf("%d", &N);
solveNQ(N);
return 0;