Practical File - 2081
Practical File - 2081
Subject: DAA
Sub Teacher: Bindu Aryal
1. Write a c program for implementing Greedy Approach:-Fractional
Knapsack Problem.
2. Write a c program for implementing Dynamic programming: 0/1 knapsack
problem.
3. Write a c program for implementing Binary search.
4. Write a c program for implementing Min-max finding.
5. Write a c program for Bubble sort.
6. Write a c program for implementing insertion sort.
7. Write a c program for implementing selection sort.
8. Write a c program for implementing Quick sort.
9. Write a c program for Fibonacci series.
10.Write a c program for GCD.
11.Write a Program to implement the concept of Backtracking: N-queen
Problem.
The End
if (i < n)
x[i] = u / weight[i];// calculating portion of weight required
int main() {
float weight[20], profit[20], capacity;
int num, i, j;
float ratio[20], temp;
}
knapsack(p,w,n,capacity);
getch();
return 0;
}
// function knapsack
void knapsack(int p[],int w[],int n,int capacity)
{
int k[20][20],i,j;//2D array for table
//This is a table we fill value at ith row and jth column of table
// and last value is our Answer.
for(i=0;i<=n;i++)
{
for(j=0;j<=capacity;j++)
{
if (i==0||j==0)
{
k[i][j]=0;
}
else if (j<w[i])
{
k[i][j]=k[i-1][j];// filling above value
}
else
{
if(k[i-1][j]>k[i-1][j-w[i]]+p[i])
{
k[i][j]=k[i-1][j];//filling above value
}
else
{
k[i][j]=k[i-1][j-w[i]]+p[i];// fill second term if above
//is not larger.
}
}
}
}
for(i=0;i<=n;i++)
{
for(j=0;j<=capacity;j++)
{
printf("%d,",k[i][j]);
}
printf("\n");
}
printf("\n Maximum possible profit=%d",k[n][capacity]);
}
3. Write a c program for implementing Binary search.
//1.Program for Binary Search
#include<stdio.h>
#include<conio.h>
void binary_search(int list[], int lo, int hi, int key)
{
int mid;
return 0;
}
}
if(min_pos!=i)
{
temp=a[i];
a[i]=a[min_pos];
a[min_pos]=temp;
}
}
//Displaying result
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}
8. Write a c program for implementing Quick sort.
int main()
{
int num;
printf("Enter the number of elements to be in the series : ");
scanf("%d", &num);
int i;
for (i = 0; i < num; i++)
{
printf("%d, ", fibonacci(i));
}
return 0;
}
int board[20],count;
int main()
{
int n,i,j;
void queen(int row,int n);
printf(" - N Queens Problem Using Backtracking -");
printf("\n\nEnter number of Queens:");
scanf("%d",&n);
queen(1,n);
return 0;
}
for(i=1;i<=n;++i)
printf("\t%d",i);
for(i=1;i<=n;++i)
{
printf("\n\n%d",i);
for(j=1;j<=n;++j) //for nxn board
{
if(board[i]==j)
printf("\tQ"); //queen at i,j position
else
printf("\t-"); //empty slot
}
}
}