Current CS502 Paper MidFall2019
Cs502 Divide and conquer (3) Catalan number(5) Chain matrix multiple cation (5) Bubble sort(5) Property of algorithms (3) McQ from handout CS502 Today's Mid Term Paper MCQ's Mostly from pastpers 2 qs marks 3 and 3 qs marks 5 1.Sorting and write its types..5 marks 2. Counting sort numbers are given.. 5 marks 3.Any Program.. i don't know this qs..5 marks 4. Edit Transcript.. 3 marks 5. Upper bound and lower boundSOLVED 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: 8)
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)
