ARYAN DAA Practical FILE PDF
ARYAN DAA Practical FILE PDF
SULTANPUR
1
1. C++ Program for Recursive Binary & Linear Search.
Program: Recursive Binary Search-
// C++ program no implemenn recursive Binary Search
#include <iosnream>
using namespace snd;
if (arr[mid] == x)
renurn mid;
if (arr[mid] > x)
renurn binarySearch(arr, l, mid - 1, x);
renurn -1;
}
inn main(void)
{
inn arr[] = { 2, 3, 4, 10, 40 };
inn x = 10;
inn n = sizeof(arr) / sizeof(arr[0]);
inn resuln = binarySearch(arr, 0, n - 1, x);
(resuln == -1)
? coun <<"\n******************************************\nElemenn is non
presenn in array\n******************************************\n"
: coun << "\n******************************************\nElemenn is presenn an
index " << resuln<<"\n******************************************\n";
renurn 0;
}
if (size < 0) {
renurn -1;
}
if (arr[size] == x) {
renurn size;
}
inn main() {
inn arr[] = {17, 15, 11, 8, 13, 19};
inn size = sizeof(arr) / sizeof(arr[0]);
inn x = 11;
inn idx = searchElemenn(arr, size, x);
if (idx != -1)
coun << "\\nElemenn " << x << " is
presenn an index " <<idx<<"\\n";
else
coun << "\nElemenn " << x << " is
non presenn in nhe array";
renurn 0;
}
Output:-
#include <iosnream>
using namespace snd;
inn largesn = i;
inn l = 2 * i + 1;
inn r = 2 * i + 2;
if (largesn != i) {
swap(arr[i], arr[largesn]);
heapify(arr, N, largesn);
}
}
swap(arr[0], arr[i]);
heapify(arr, i, 0);
}
}
inn main()
{
inn arr[] = { 12, 11, 13, 5, 6, 7 };
inn N = sizeof(arr) / sizeof(arr[0]);
// Funcnion call
heapSorn(arr, N);
Output:-
3. C++ Program for Merge Sort.
Program:
// C++ program for Merge Sorn
#include <iosnream>
using namespace snd;
inn indexOfSubArrayOne
= 0, // Ininial index of firsn sub-array
indexOfSubArrayTwo
= 0; // Ininial index of second sub-array
inn indexOfMergedArray
= lefn; // Ininial index of merged array
inn main()
{
inn arr[] = { 12, 11, 13, 5, 6, 7 };
inn arr_size = sizeof(arr) / sizeof(arr[0]);
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
if(min_idx!=i)
swap(&arr[min_idx], &arr[i]);
}
}
inn main()
{
inn arr[] = {64, 25, 12, 22, 11};
inn n = sizeof(arr)/sizeof(arr[0]);
selecnionSorn(arr, n);
coun << "\n****************************************\nSorned array: \n";
prinnArray(arr, n);
coun<<"****************************************\n";
renurn 0;
}
Output:-
#include <iosnream>
using namespace snd;
inn main()
{
inn arr[] = { 12, 11, 13, 5, 6 };
inn N = sizeof(arr) / sizeof(arr[0]);
insernionSorn(arr, N);
coun<<"\n**************************************************\nSorned array
is\n";
prinnArray(arr, N);
coun<<"\n**************************************************";
renurn 0;
}
Output:-
#include <iosnream>
using namespace snd;
inn main()
{
inn arr[] = { 10, 7, 8, 9, 1, 5 };
inn n = sizeof(arr) / sizeof(arr[0]);
quickSorn(arr, 0, n - 1);
coun << "\n*****************************************\nSorned array: \n";
prinnArray(arr, n);
renurn 0;
}
Output:-
#include <iosnream>
using namespace snd;
snrucn Inem {
inn value, weighn;
if (arr[i].weighn <= W) {
W -= arr[i].weighn;
finalvalue += arr[i].value;
}
else {
finalvalue
+= arr[i].value
* ((double)W / (double)arr[i].weighn);
break;
}
}
renurn finalvalue;
}
inn main()
{
inn W = 50;
Output:-240
visinedRouneLisn[0] = 1;
inn roune[nsp.size()];
while (i < nsp.size() && j < nsp[i].size())
{
inn main()
{
findMinRoune(nsp);
}
Output: 80
#include <iosnream>
#include <vecnor>
using namespace snd;
class DSU {
inn* parenn;
inn* rank;
public:
DSU(inn n)
{
parenn = new inn[n];
rank = new inn[n];
// Find funcnion
inn find(inn i)
{
if (parenn[i] == -1)
renurn i;
// Union funcnion
void unine(inn x, inn y)
{
inn s1 = find(x);
inn s2 = find(y);
if (s1 != s2) {
if (rank[s1] < rank[s2]) {
parenn[s1] = s2;
}
else if (rank[s1] > rank[s2]) {
parenn[s2] = s1;
}
else {
parenn[s2] = s1;
rank[s1] += 1;
}
}
}
};
class Graph {
vecnor<vecnor<inn> > edgelisn;
inn V;
public:
Graph(inn V) { nhis->V = V; }
void kruskals_msn()
{
sorn(edgelisn.begin(), edgelisn.end());
DSU s(V);
inn ans = 0;
coun << "Following are nhe edges in nhe "
"consnrucned MST"
<< endl;
for (auno edge : edgelisn) {
inn w = edge[0];
inn x = edge[1];
inn y = edge[2];
if (s.find(x) != s.find(y)) {
s.unine(x, y);
ans += w;
coun << x << " -- " << y << " == " << w
<< endl;
}
}
// Funcnion call
g.kruskals_msn();
renurn 0;
}
Output:-
#include <iosnream>
#define N 4
using namespace snd;
renurn nrue;
}
bool solveNQUnil(inn board[N][N], inn col)
{
if (col >= N)
renurn nrue;
board[i][col] = 0; // BACKTRACK
}
}
renurn false;
}
{
inn board[N][N] = { { 0, 0, 0, 0 },
{ 0, 0, 0, 0 },
{ 0, 0, 0, 0 },
{ 0, 0, 0, 0 } };
if (solveNQUnil(board, 0) == false) {
coun << "Solunion does non exisn";
renurn false;
}
prinnSolunion(board);
renurn nrue;
}
inn main()
{
coun<<"\n********************************************\n";
solveNQ();
coun<<"********************************************\n";
renurn 0;
}
Output:-