Академический Документы
Профессиональный Документы
Культура Документы
Submitted to – Submitted by -
Er. Ankur Bohra Sanamdeep Singh
1731858
1. GCD
#include<iostream>
using namespace std;
int GCD(int a,int b);
int count=1,temp;
int main(){
int a,b;
cout<<"enter the value of a ";
cin>>a;
cout<<"enter the value of b ";
cin>>b;
cout<<"GCD is "<<GCD(a,b);
return 0;
}
int GCD(int a,int b){
int min;
if(a==0 || b==0){
return 0;
}
else if(a>b){
min=b;
}
if(b>a){
min=b;
}
while(count<=min){
if(a%count==0 && b%count==0){
temp=count;
}
count++;
}
return temp;
}
2. Median
// CPP program to find mean and median of
// an array
#include <bits/stdc++.h>
using namespace std;
double findMedian(int a[], int n)
{
// First we sort the array
sort(a, a+n);
3. Majority element
#include <bits/stdc++.h>
using namespace std;
void findMajority(int arr[], int n)
{
int maxCount = 0;
int index = -1; // sentinels
for(int i = 0; i < n; i++)
{
int count = 0;
for(int j = 0; j < n; j++)
{
if(arr[i] == arr[j])
count++;
}
if(count > maxCount)
{
maxCount = count;
index = i;
}
}
if (maxCount > n/2)
cout << arr[index] << endl;
else
cout << "No Majority Element" << endl;
}
// Driver code
int main()
{
int arr[] = {1, 1, 2, 1, 3, 5, 1};
int n = sizeof(arr) / sizeof(arr[0]);
// Function calling
findMajority(arr, n);
return 0;
}
4. Heap Sort
// C++ program for implementation of Heap Sort
#include <iostream>
// Recursive Call
heapify(arr, n, largest);
}
}
heapify(arr, i, 0);
}
}
int main()
{ int n;
cout<<"enter no. of elements ";
cin>>n;
int arr[n];
getdata(arr,n);
heapSort(arr, n);
5. Merge Sort
merge(arr, l, m, r);
}
}
/* UTILITY FUNCTIONS */
/* Function to print an array */
void printArray(int A[], int size)
{
int i;
for (i=0; i < size; i++)
printf("%d ", A[i]);
printf("\n");
}
6. Quick Sort
// Driver Code
int main()
{
int arr[] = {10, 7, 8, 9, 1, 5};
int n = sizeof(arr) / sizeof(arr[0]);
quickSort(arr, 0, n - 1);
cout << "Sorted array: \n";
printArray(arr, n);
return 0;
}
7. Edit Distance
// A Naive recursive C++ program to find minimum number
// operations to convert str1 to str2
#include<bits/stdc++.h>
using namespace std;
// Driver program
int main()
{
// your code goes here
string str1 = "sunday";
string str2 = "saturday";
return 0;
}
// Driver Code
int main()
{
int arr[] = {1, 2, 3, 4, 3};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Minimum number of multiplications is "
<< MatrixChainOrder(arr, 1, n - 1);
}
#include <limits.h>
#include <stdio.h>
return min_index;
}
dijkstra(graph, 0);
return 0;
}
printArr(dist, V);
return;
}
return 0;
}
14. MST
#include <bits/stdc++.h>
using namespace std;
return graph;
}
if (subsets[i].parent != i)
subsets[i].parent = find(subsets, subsets[i].parent);
return subsets[i].parent;
}
void Union(subset subsets[], int x, int y)
{
int xroot = find(subsets, x);
int yroot = find(subsets, y);
if (subsets[xroot].rank < subsets[yroot].rank)
subsets[xroot].parent = yroot;
else if (subsets[xroot].rank > subsets[yroot].rank)
subsets[yroot].parent = xroot;
else
{
subsets[yroot].parent = xroot;
subsets[xroot].rank++;
}
}
// Driver code
int main()
{
KruskalMST(graph);
return 0;
}
return result;
}
// Base cases
if (n == 0) return 0;
if (n == 1) return multiplyiSingleBit(X, Y);
struct Point
{
int x, y;
};
Point p0;
Point nextToTop(stack<Point> &S)
{
Point p = S.top();
S.pop();
Point res = S.top();
S.push(p);
return res;
}
// A utility function to swap two points
int swap(Point &p1, Point &p2)
{
Point temp = p1;
p1 = p2;
p2 = temp;
}
// Find orientation
int o = orientation(p0, *p1, *p2);
if (o == 0)
return (distSq(p0, *p2) >= distSq(p0, *p1))? -1 : 1;
p0 = points[0];
qsort(&points[1], n-1, sizeof(Point), compare);
int m = 1; // Initialize size of modified array
for (int i=1; i<n; i++)
{
// Keep removing i while angle of i and i+1 is same
// with respect to p0
while (i < n-1 && orientation(p0, points[i],
points[i+1]) == 0)
i++;
points[m] = points[i];
m++; // Update size of modified array
}
if (m < 3) return;
stack<Point> S;
S.push(points[0]);
S.push(points[1]);
S.push(points[2]);