Design and Analysis of Algorithms - AD3351 - Important Questions With Answer - Unit 2 - Brute Force and Divide and Conquer
Design and Analysis of Algorithms - AD3351 - Important Questions With Answer - Unit 2 - Brute Force and Divide and Conquer
4th Semester
2nd Semester
Deep Learning -
AD3501
Embedded Systems
Data and Information Human Values and
and IoT - CS3691
5th Semester
7th Semester
8th Semester
Open Elective-1
Distributed Computing Open Elective 2
- CS3551 Project Work /
Elective-3
Open Elective 3 Intership
Big Data Analytics - Elective-4
CCS334 Open Elective 4
Elective-5
Elective 1 Management Elective
Elective-6
Elective 2
All Computer Engg Subjects - [ B.E., M.E., ] (Click on Subjects to enter)
Programming in C Computer Networks Operating Systems
Programming and Data Programming and Data Problem Solving and Python
Structures I Structure II Programming
Database Management Systems Computer Architecture Analog and Digital
Communication
Design and Analysis of Microprocessors and Object Oriented Analysis
Algorithms Microcontrollers and Design
Software Engineering Discrete Mathematics Internet Programming
Theory of Computation Computer Graphics Distributed Systems
Mobile Computing Compiler Design Digital Signal Processing
Artificial Intelligence Software Testing Grid and Cloud Computing
Data Ware Housing and Data Cryptography and Resource Management
Mining Network Security Techniques
Service Oriented Architecture Embedded and Real Time Multi - Core Architectures
Systems and Programming
Probability and Queueing Theory Physics for Information Transforms and Partial
Science Differential Equations
Technical English Engineering Physics Engineering Chemistry
Engineering Graphics Total Quality Professional Ethics in
Management Engineering
Basic Electrical and Electronics Problem Solving and Environmental Science and
and Measurement Engineering Python Programming Engineering
www.BrainKart.com
4931_Grace College of Engineering
SCIENCE
QUESTION BANK
Prepared By,
https://play.google.com/store/apps/details?id=info.therithal.brainkart.annauniversitynotes
www.BrainKart.com
4931_Grace College of Engineering, Thoothukudi
QUESTION BANK
PART - A
3. What is the time and space complexity of Merge Sort? [Apr/May 2019]
7. Give the General Plan for Divide and Conquer Algorithms[Nov/Dec 2017]
AD3351_DAA
https://play.google.com/store/apps/details?id=info.therithal.brainkart.annauniversitynotes
www.BrainKart.com
4931_Grace College of Engineering, Thoothukudi
A divide and conquer algorithm works by recursively breaking down a problem into
two or more sub-problems of the same (or related) type (divide), until these become simple
enough to be solved directly (conquer).
Divide-and-conquer algorithms work according to the following general plan:
A problem is divided into several subproblems of the same type, ideally of about equalsize.
The subproblems are solved (typically recursively, though sometimes a different
algorithm is employed, especially when subproblems become smallenough).
If necessary, the solutions to the subproblems are combined to get a solution to
theoriginal problem.
Example: Merge sort, Quick sort, Binary search, Multiplication of Large Integers and Strassen’s
Matrix Multiplication.
AD3351_DAA
https://play.google.com/store/apps/details?id=info.therithal.brainkart.annauniversitynotes
www.BrainKart.com
4931_Grace College of Engineering, Thoothukudi
Algorithm BetterBruteForcePolynomialEvaluation(P[0..n], x)
//The algorithm computes the value of polynomial P at a given point x by the “lowest-to-
highest
//term” algorithm
//Input: Array P[0..n] of the coefficients of a polynomial of degree n, from the lowest to the
//highest, and a number x
//Output: The value of the polynomial at
the point x p ← P[0]; power ← 1
for i ← 1 to ndo
power ← power ∗ x
p ← p + P[i] ∗ power
return p
AD3351_DAA
https://play.google.com/store/apps/details?id=info.therithal.brainkart.annauniversitynotes
www.BrainKart.com
4931_Grace College of Engineering, Thoothukudi
19. What is the Quick sort and Write the Analysis for the Quick sort?
In quick sort, the division into sub arrays is made so that the sorted sub arrays do not need to
be merged later. In analyzing QUICKSORT, we can only make the number of element
comparisons c(n). It is easy to see that the frequency count of other operations is of the same
order as C(n).
PART B & C
3. Discuss Quick Sort Algorithm and Explain it with example. Derive Worst case and Average
Case Complexity. [Apr/May 2019]
4. Explain in detail about Travelling Salesman Problem using exhaustive search. [Nov/Dec
2019]
5. Explain in detail about Knapsack Problem. [Apr/May 2019]
6. Write algorithm to find closest pair of points using divide and conquer and explain it with
example. Derive the worst case and average case time complexity. [Nov/Dec 2019]
7. What is Convex hull problem? Explain the brute force approach to solve convex-hull with an
example. Derive time complexity. [Apr/May 2019]
AD3351_DAA
https://play.google.com/store/apps/details?id=info.therithal.brainkart.annauniversitynotes
Click on Subject/Paper under Semester to enter.
Professional English Discrete Mathematics Environmental Sciences
Professional English - - II - HS3252 - MA3354 and Sustainability -
I - HS3152 GE3451
Digital Principles and
Statistics and Probability and
Computer Organization
Matrices and Calculus Numerical Methods - Statistics - MA3391
- CS3351
- MA3151 MA3251
3rd Semester
1st Semester
4th Semester
2nd Semester
Deep Learning -
AD3501
Embedded Systems
Data and Information Human Values and
and IoT - CS3691
5th Semester
7th Semester
8th Semester
Open Elective-1
Distributed Computing Open Elective 2
- CS3551 Project Work /
Elective-3
Open Elective 3 Intership
Big Data Analytics - Elective-4
CCS334 Open Elective 4
Elective-5
Elective 1 Management Elective
Elective-6
Elective 2
All Computer Engg Subjects - [ B.E., M.E., ] (Click on Subjects to enter)
Programming in C Computer Networks Operating Systems
Programming and Data Programming and Data Problem Solving and Python
Structures I Structure II Programming
Database Management Systems Computer Architecture Analog and Digital
Communication
Design and Analysis of Microprocessors and Object Oriented Analysis
Algorithms Microcontrollers and Design
Software Engineering Discrete Mathematics Internet Programming
Theory of Computation Computer Graphics Distributed Systems
Mobile Computing Compiler Design Digital Signal Processing
Artificial Intelligence Software Testing Grid and Cloud Computing
Data Ware Housing and Data Cryptography and Resource Management
Mining Network Security Techniques
Service Oriented Architecture Embedded and Real Time Multi - Core Architectures
Systems and Programming
Probability and Queueing Theory Physics for Information Transforms and Partial
Science Differential Equations
Technical English Engineering Physics Engineering Chemistry
Engineering Graphics Total Quality Professional Ethics in
Management Engineering
Basic Electrical and Electronics Problem Solving and Environmental Science and
and Measurement Engineering Python Programming Engineering