Recent Topics

What is Unitary State?
General Discussion4 
What precaution you can take to protect yourself from the Coronavirus?
General Discussion3 
Lucknow Pact
HIS  History2 
Do You Know About Coronavirus? Myths And Facts! Get Certified
General Discussion2 
FRL101 Assignment 2 Solution and Discussion Batch 6
Freelancing1 
Examples of Unitary State
POL  301 Principles of Political Science1 
Should people avoid all goods and products from China?
General Discussion1 
What are the best ways to guard yourself against the coronavirus?
General Discussion1 
The lucknow Pact 1916
HIS  History1 
What are the merits of Unitary State?
General Discussion1 
What precaution you can take to protect yourself from the Coronavirus?
General Discussion0
CS502 Assignment No. 02 Solution and Discussion

Assignment No. 02
SEMESTER Fall 2019
CS502 Fundamentals of Algorithms
Total Marks: 20Due Date: 27/11/2019
Instructions
Please read the following instructions carefully before solving & submitting assignment:
It should be clear that your assignment will not get any credit if:
• The assignment is submitted after due date.
• The submitted assignment does not open or file corrupt.
• The assignment is full or partially copied from (other student or ditto copy from handouts or internet).
• Student ID is not mentioned in the assignment File or name of file is other than student ID.
• The assignment is not submitted in .doc or .docx format.
Uploading instructions
Your submission must include:• Assignment should be in .doc or .docx format.
• Save your assignment with your ID (e.g. bx180200786.doc).
Assignment submission through email is NOT acceptable
Objective
The objective of this assignment is
• To give basic knowledge and understanding of Algorithms.
• To be able to design sorting algorithms.
• To be able to understand and calculate the complexity of algorithms.Note:
Your answer must follow the below given specifications.
• Font style: “Times New Roman”
• Font color: “Black”
• Font size: “12”
• Bold for heading only.
• Font in Italic is not allowed at all.
• No formatting or bullets are allowed to use.
• Your answer should be precise and to the point, avoid irrelevant detail.Lectures Covered: This assignment covers Lecture # 09  14
Deadline
Your assignment must be uploaded/submitted at or before 27/11/2019.Assignment diagram:
Consider the given diagram having an unsorted array and its sorting procedure through dry run. You are required to answer the following questions.Question No 01: (Marks: 5)
You are required to determine (write down the name) the algorithm being used while sorting the above given array.Question No 02: (Marks: 7)
You are required to design (write) the algorithm (Only Pseudo code) determined in Question 1.Question No 03: (Marks:
You are required to calculate (Step by Step) the worst case time complexity T(n) of the algorithm designed in Question No. 02.=====================================Ended=======================================
For any query about the assignment, contact at [email protected]
GOOD LUCK

Solution:
Question No. 01: The name of the algorithm being used for sorting the given array has given below.
Selection sort
Question No. 02: The Pseudo code for the algorithm used for sorting the given array has given below.Pseudo code:
1 Selection sort (A)
{
2 For i 1 to A.lenght1
{
3 imin i
4 for j i+1 to A.length
{
5 If (A[j] < A[imin])
Imin j
}
6 Temp A[i]
7 A[i] A[imin]
8 A[imin] Temp
}
}Question No. 03: The step by stem analysis of the algorithm designed in question 2 is as follow,
The time taken by each statement (step) is given as follows,
Selection sort (A) Cost Times
{
For i 1 to A.length1 c1 n
{
imin i c2 n1
for j i+1 to A.length
{ c3 n+n1+…1=n(n+1)/2
If (A[j] < A[imin])
imin j
}
Temp A[i] c4 n1
A[i] A[imin] c5 n1
A[imin] Temp c6 n1
}
}Total time T(n) can be calculated as follows,
T(n)= c1n+c2(n1)+c3(n(n+1)/2)+c4(n1)+c5(n1)+c6(n1)
c1n+c2nc2+c3 (n2+n/2) +c4nc4+c5nc5+c6nc6 collect the like terms
c3n2/2+ (c1+c2+c3/2+c4+c5+c6) n + (c2c4c5c6)This is equivalent to a polynomial an2+bn+c
Therefore T (n) = Big O (n2) by taking the highest order term of the equation.
Note: a, b, c in polynomial represents constants
// Ignoring constant termsT(n) = O (n2)

Solution:
Question No. 01: The name of the algorithm being used for sorting the given array has given below.
Selection sort
Question No. 02: The Pseudo code for the algorithm used for sorting the given array has given below.Pseudo code:
1 Selection sort (A)
{
2 For i 1 to A.lenght1
{
3 imin i
4 for j i+1 to A.length
{
5 If (A[j] < A[imin])
Imin j
}
6 Temp A[i]
7 A[i] A[imin]
8 A[imin] Temp
}
}Question No. 03: The step by stem analysis of the algorithm designed in question 2 is as follow,
The time taken by each statement (step) is given as follows,
Selection sort (A) Cost Times {
For i 1 to A.length1 c1  n
{
imin i> c2 n1
for j i+1 to A.length
{ c3 n+n1+…1=n(n+1)/2
If (A[j] < A[imin])
imin j
}
Temp A[i] c4 n1
A[i] A[imin] c5 n1
A[imin] Temp c6 n1
}
}Total time T(n) can be calculated as follows,
T(n)= c1n+c2(n1)+c3(n(n+1)/2)+c4(n1)+c5(n1)+c6(n1)
c1n+c2nc2+c3 (n2+n/2) +c4nc4+c5nc5+c6nc6 collect the like terms
c3n2/2+ (c1+c2+c3/2+c4+c5+c6) n + (c2c4c5c6)This is equivalent to a polynomial an2+bn+c
Therefore T (n) = Big O (n2) by taking the highest order term of the equation.
Note: a, b, c in polynomial represents constants// Ignoring constant terms
T(n) = O (n2)

@zareen said in CS502 Assignment No. 02 Solution and Discussion:
You are required to calculate (Step by Step) the worst case time complexity T(n) of the algorithm designed in Question No. 02.
ANS: C1 = (n1) C2 = (n1)+(n2)+…+1 = C3 = (n1) T(n) = (n1) . C1 + . C2 + (n1)C3 T(n) = an2 + bn + c Here a,b and c are constants in term of C1, C2 and C3 T(n) = O(n2)

@zareen said in CS502 Assignment No. 02 Solution and Discussion:
You are required to design (write) the algorithm (Only Pseudo code) determined in Question 1.
Selectionsort (A , n) { For (i=0 to n1) { min = i C1 For ( j = i+1 to n1) { C2 } C3 } }

Solution:
Question No. 01: The name of the algorithm being used for sorting the given array has given below.
Selection sort
Question No. 02: The Pseudo code for the algorithm used for sorting the given array has given below.Pseudo code:
1 Selection sort (A)
{
2 For i 1 to A.lenght1
{
3 imin i
4 for j i+1 to A.length
{
5 If (A[j] < A[imin])
Imin j
}
6 Temp A[i]
7 A[i] A[imin]
8 A[imin] Temp
}
}Question No. 03: The step by stem analysis of the algorithm designed in question 2 is as follow,
The time taken by each statement (step) is given as follows,
Selection sort (A) Cost Times
{
For i 1 to A.length1 c1 n
{
imin i c2 n1
for j i+1 to A.length
{ c3 n+n1+…1=n(n+1)/2
If (A[j] < A[imin])
imin j
}
Temp A[i] c4 n1
A[i] A[imin] c5 n1
A[imin] Temp c6 n1
}
}Total time T(n) can be calculated as follows,
T(n)= c1n+c2(n1)+c3(n(n+1)/2)+c4(n1)+c5(n1)+c6(n1)
c1n+c2nc2+c3 (n2+n/2) +c4nc4+c5nc5+c6nc6 collect the like terms
c3n2/2+ (c1+c2+c3/2+c4+c5+c6) n + (c2c4c5c6)This is equivalent to a polynomial an2+bn+c
Therefore T (n) = Big O (n2) by taking the highest order term of the equation.
Note: a, b, c in polynomial represents constants
// Ignoring constant termsT(n) = O (n2)
