DAA LAB FILE 1
DAA LAB FILE 1
if (arr[m] < x)
l = m + 1;
else
r = m - 1;
}
return -1;
}
int main(void)
{
int arr[] = { 18, 27, 53, 67, 89};
int x = 67;
int n = sizeof(arr) / sizeof(arr[0]);
int result = binarySearch(arr, 0, n - 1, x);
if(result == -1)
{
cout << "Element is not present in array";
}
else
{
cout << "Element is present at index " << result;
}
return 0;
}
1.b: Implement recursive binary search.
Source Code:
#include <iostream>
using namespace std;
int binarySearch(int arr[], int l, int r, int x)
{
if (r >= l)
{
int mid = l + (r - l) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);
return binarySearch(arr, mid + 1, r, x);
}
return -1;
}
int main()
{
int arr[] = { 16, 21, 47, 68, 89};
int x = 21;
int n = sizeof(arr) / sizeof(arr[0]);
int result = binarySearch(arr, 0, n - 1, x);
if(result == -1)
cout << "Element is not present in array";
else
cout << "Element is present at index " << result;
return 0;
}
1.c: Sort a given set of elements using the Quick sort method. Repeat the
experiment for different values of n, the number of elements to be sorted.
The elements can be read from any file or generate them using a random
number generator.
Source Code:
#include <iostream>
using namespace std;
for(int j=low;j<=high;j++)
{
if(arr[j]<pivot)
{
i++;
swap(arr[i],arr[j]);
}
}
swap(arr[i+1],arr[high]);
return (i+1);
}
void quickSort(int arr[],int low,int high)
{
if(low<high)
{
int pi=partition(arr,low,high);
quickSort(arr,low,pi-1);
quickSort(arr,pi+1,high);
}
}
int main()
{
int n;
cout<<"Enter the size of array\n";
cin>>n;
int arr[n];
cout<<"Enter the elements of array\n";
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
quickSort(arr,0,n-1);
cout<<"Sorted Array\n";
for(int i=0;i<n;i++)
{
cout<<arr[i]<<" ";
}
return 0;
}
LAB-2
2.a Write a program to sort the array using merge sort.
Source Code :
#include<bits/stdc++.
h> using namespace
std;
void merge(vector<int>&a, int low, int mid, int high)
{
int i = low, j = mid + 1, index = low, temp[100],
k; while ((i <= mid) && (j <= high)) {
if (a[i] < a[j]) {
temp[index] = a[i];
i++;
} else {
temp[index] = a[j];
j++;
}
index++; }
if (i > mid)
{
vector<int>v(n);
cout<<"ENTER ELEMENTS OF ARRAY : ";
for(int i=0;i<n;i++)
cin>>v[i];
cout<<" ELEMENTS OF ARRAY AFTER IS : { ";
for (int i = 0; i<n ; i++)
{
cout<<v[i]<<",";
}
cout<<"\b"<<" }";
mergesort(v,0,v.size()-1);
cout<<endl<<"SORTED ARRAY AFTER MERGE SORT IS : { ";
for (int i = 0; i < n;
i++)
cout<<v[i]<<",";
cout<<"\b"<<" }";
cout<<endl;
cout<<endl;
}cout<<" time complexity is nlogn
"; return 0;
}
OUTPUT :
for(int
i=0;i<arr.size();i++)
maxi=max(maxi,arr[i]);
return maxi;
}
void count_sort(vector<int>&arr, int n, int pos)
{int count[10] = { 0 };
arr[i] = ans[i]; }
vector<int>v(n);
cout<<"ENTER ELEMENTS OF ARRAY : ";
for(int i=0;i<n;i++)
cin>>v[i];
cout<<" ELEMENTS OF ARRAY AFTER IS : { ";
for (int i = 0; i<n ;
i++)
cout<<v[i]<<",";
cout<<"\b"<<" }";
radix_sort(v,v.size());
cout<<endl<<"SORTED ARRAY AFTER RADIX SORT IS : { ";
for (int i = 0; i < n; i++)
{cout<<v[i]<<",";}
cout<<"\b"<<" }";
cout<<endl;
cout<<"TIME COMPLEXITY OF RADIX SORT IS LINEAR ";return 0;
OUTPUT:
LAB-3
Source Code :
#include<bits/stdc++.h>
OUTPUT :
Source Code :
#include<bits/stdc++.h>
using namespace std;
void insertionsort(vector<int>&arr)
{
int
n=arr.size();
int i,ele,j;
for(i=1;i<n;i++)
{
ele=arr[i
]; j=i-1;
while(j>=0 && arr[j]>ele)
{
arr[j+1]=arr[
j]; j--;
}
arr[j+1]=ele;
}
}
int main()
{
int n;
cout<<" ENTER NUMBER OF ELEMENTS IN ARRAY : ";
cin>>n;
vector<int>v(n);
cout<<"ENTER ELEMENTS IN ARRAY : "<<endl;
for(int
i=0;i<n;i++)
cin>>v[i];
cout<<" ELEMENTS OF ARRAY AFTER IS : { ";
for (int i = 0; i<n ; i++)
{
cout<<v[i]<<",";
}
cout<<"\b"<<" }";
insertionsort(v);
cout<<endl<<"SORTED ARRAY AFTER INSERTION SORT IS : { ";
for (int i = 0; i < n; i++)
{
cout<<v[i]<<",";
}
cout<<"\b"<<" }";
cout<<endl;
cout<<" time complexity is n*2";
return 0;
}
OUTPUT :