Welcome to the world of computers!
Mr. Chidanand S. Kusur, Asst. Professor, Department of Computer Science and Engineering, BLDEAs V. P. Dr. P. G. H. College of Engineering and Technology, Vijayapur-03, Karnataka, India. ~ send your feedback to cs.kusur@gmail.com
About Me
Thursday, 22 May 2025
Tuesday, 4 March 2025
Design and implement C/C++ Program to sort a given set of n integer elements using Merge Sort method and compute its time complexity. Run the program for varied values of n> 5000, and record the time taken to sort. Plot a graph of the time taken versus n.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Function to merge two subarrays
void merge(int arr[], int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
int L[n1], R[n2];
for (i = 0; i < n1; i++)
L[i] = arr[left + i];
for (j = 0; j < n2; j++)
R[j] = arr[mid + 1 + j];
i = 0;
j = 0;
k = left;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}
// Merge Sort function
void mergeSort(int arr[], int left, int right) {
if (left < right) {
int mid = left + (right - left) / 2;
mergeSort(arr, left, mid);
mergeSort(arr, mid + 1, right);
merge(arr, left, mid, right);
}
}
int main() {
int n;
printf("Enter number of elements (n > 5000): ");
scanf("%d", &n);
if (n <= 5000) {
printf("Please enter n greater than 5000.\n");
return 1;
}
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// Generating random numbers
srand(time(0));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100000; // Random numbers between 0 and 99999
}
clock_t start, end;
double cpu_time_used;
start = clock();
mergeSort(arr, 0, n - 1);
end = clock();
cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC;
printf("Time taken to sort %d elements: %f seconds\n", n, cpu_time_used);
free(arr);
return 0;
}
Thursday, 6 February 2025
Monday, 3 February 2025
Sunday, 2 February 2025
Sunday, 1 December 2024
Sunday, 6 October 2024
Saturday, 28 September 2024
Tuesday, 24 September 2024
Sunday, 22 September 2024
Tuesday, 23 April 2024
GCD of two numbers and its application...
The greatest common divisor (gcd) of two numbers is the largest positive integer that divides both numbers without leaving a remainder. The gcd can be found using the Euclidean algorithm
GCD is useful in cases when you want different amounts of things to be arranged in the same number of order.
For example there are 32 soldiers and 48 bandsman and during the parade you want them to march in the same number of rows.
So , you calculate the HCF which is 8 and thus you can make 8 rows each for each group.
Write C++ program to find GCD two numbers a and b using user defined function. i.e. GCD(a,b) using Euclids algorithm.
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
int main() {
int a , b;
cout<<"Enter the values of a and b: "<<endl;
cin>>a>>b;
cout<<"GCD of "<< a <<" and "<< b <<" is "<< gcd(a, b);
return 0;
}
Output:
Enter the values of a and b:
10
20
GCD of 10 and 20 is 10
Saturday, 17 February 2024
Friday, 22 December 2023
Wednesday, 20 December 2023
Tuesday, 21 November 2023
Thursday, 9 November 2023
Friday, 1 September 2023
Wednesday, 30 August 2023
Module 5: L2: Design and implement the presence of Hamiltonian Cycle in an undirected Graph G of n vertices.
Design and implement the presence of Hamiltonian Cycle in an undirected
Graph G of n vertices.
importjava.util.*;
classHamiltoniancycle
{
privateintadj[][],x[],n;
publicHamiltoniancycle()
{
Scanner src = newScanner(System.in);
System.out.println("Enter
the number of nodes");
n=src.nextInt();
x=new int[n];
x[0]=0;
for(inti=1;i<n; i++)
x[i]=-1;
adj=new int[n][n];
System.out.println("Enter
the adjacency matrix"); for (inti=0;i<n; i++)
for(intj=0; j<n; j++)
adj[i][j]=src.nextInt();
}
public void nextValue (intk)
{
inti=0;
while(true)
{
x[k]=x[k]+1;
if(x[k]==n)
x[k]=-1;
if(x[k]==-1)
return;
if(adj[x[k-1]][x[k]]==1)
for(i=0; i<k; i++)
if(x[i]==x[k])
break;
if(i==k)
if(k<n-1 || k==n-1 &&adj[x[n-1]][0]==1)
return;
}
}
public void getHCycle(intk)
{
while(true)
{
nextValue(k);
if(x[k]==-1)
return;
if(k==n-1)
{
System.out.println("\nSolution
: ");
for(inti=0; i<n; i++)
System.out.print((x[i]+1)+" ");
System.out.println(1);
}
else
}
}
}
classHamiltoniancycleExp
{
public
static void main(String
args[])
{
Hamiltoniancycleobj=newHamiltoniancycle();
obj.getHCycle(1);
}
}
Output:
Enter the number of nodes
6
Enter the adjacency matrix
0 1 1 1 0 0
1 0 1 0 0 1
1 1 0 1 1 0
1 0 1 0 1 0
0 0 1 1 0 1
0 1 0 0 1 0
Solution : |
4 |
1 |
||||
1 |
2 |
6 |
5 |
3 |
||
Solution : |
3 |
1 |
||||
1 |
2 |
6 |
5 |
4 |
||
Solution : |
4 |
1 |
||||
1 |
3 |
2 |
6 |
5 |
||
Solution : |
2 |
1 |
||||
1 |
3 |
4 |
5 |
6 |
||
Solution : |
2 |
1 |
||||
1 |
4 |
3 |
5 |
6 |
||
Solution : |
3 |
1 |
||||
1 |
4 |
5 |
6 |
2 |
Module-5: L1 Subset Problem :Java Program to find a subset of a given set S = {Sl, S2,…, Sn} of n positive integers whose SUM is equal to a given positive integer d
Design and implement in Java to find a subset of a given set S = {Sl, S2,.....,Sn} of n
positive integers whose SUM is
equal to a given positive integer d. For example, if S ={1, 2, 5,6, 8}
and d=
9, there are two solutions {1,2,6}and {1,8}. Display a suitable message, if the
given problem instance doesn't have a solution.
import java.util.Scanner;
import
static java.lang.Math.pow;
public
class subSet {
void
subset(intnum,int n, int x[])
{
int i; for(i=1;i<=n;i++)
x[i]=0;
for(i=n;num!=0;i--)
{
x[i]=num%2;
num=num/2;
}
}
public
static void main(String[] args) {
//
TODO
Auto-generated method stub int a[]=new int[10];
int x[]=new int[10]; intn,d,sum,present=0; int j;
System.out.println("enter the number of elements of set");
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
System.out.println("enter the elements of set"); for(int
i=1;i<=n;i++)
a[i]=sc.nextInt();
System.out.println("enter the positive integer sum");
d=sc.nextInt();
if(d>0)
{
for(int
i=1;i<=Math.pow(2,n)-1;i++)
{
subSet s=new subSet(); s.subset(i,n,x); sum=0;
for(j=1;j<=n;j++) if(x[j]==1)
sum=sum+a[j];
if(d==sum)
{
System.out.print("Subset={");
present=1;
for(j=1;j<=n;j++)
if(x[j]==1)
System.out.print(a[j]+",");
System.out.print("}="+d);
System.out.println();
}
}
}
if(present==0)
System.out.println("Solution
does not exists");
}
}
Output:
enter the number of elements of set
5
enter the elements of set
1 2 5 6 8
enter the positive integer sum
9
Subset={1,8,}=9
Subset={1,2,6,}=9
Quiz-1 for DCET 2025 (Introduction to Python)
1. Introduction to Python https://docs.google.com/forms/d/e/1FAIpQLSc3LFrMaswLg6mltJ3NN5QGbALA9Uc53KWPp4oV5HN4SaM0Iw/viewform?usp=sharing...
-
1. Introduction to Python https://docs.google.com/forms/d/e/1FAIpQLSc3LFrMaswLg6mltJ3NN5QGbALA9Uc53KWPp4oV5HN4SaM0Iw/viewform?usp=sharing...
-
Module wise most expected questions on " Unix and Shell Programming " Module-1 1. Explain in brief about " UNIX Arc...
-
Dear students, You are hereby informed to follow the following instructions to get good marks in Practical Examinations. Wear the formal and...
-
What is computer? Name some input and output devices. What is CPU? Name types of memories. Tell me about computer generations. Ca...