(SEM VI) THEORY EXAMINATION 2021-22 DESIGN AND ANALYSIS OF ALGORITHM

B.Tech Engineering 0 downloads
₹29.00

DESIGN AND ANALYSIS OF ALGORITHM (KECZ603)

Section-wise Detailed Answers


SECTION A

(Attempt all questions – Detailed explanations)


(a) Why is Heapify called only on the first half of elements while building a heap?


While building a heap from an array, the heap property needs to be enforced only on non-leaf nodes. In an array representation of a complete binary tree, all elements from index ⌊n/2⌋ + 1 to n are leaf nodes. Leaf nodes already satisfy the heap property because they do not have children.
 

Heapify is a procedure that compares a node with its children and fixes violations of the heap property. Since leaf nodes have no children, calling Heapify on them is unnecessary and wasteful. Therefore, Heapify is applied only from index ⌊n/2⌋ down to index 1 (or 0 in 0-based indexing). This optimization reduces unnecessary operations and ensures the heap is built efficiently in O(n) time.


(b) Recurrence relation of Tower of Hanoi and its solution


The Tower of Hanoi problem involves moving n disks from a source peg to a destination peg using an auxiliary peg, following the rule that no larger disk can be placed on a smaller one.

To move n disks:
 

Move n−1 disks from source to auxiliary peg.

Move the largest disk directly to the destination peg.

Move the n−1 disks from auxiliary peg to destination peg.

This leads to the recurrence relation:

T(n) = 2T(n−1) + 1, with T(1) = 1

Solving this recurrence using substitution:

T(n) = 2(2T(n−2) + 1) + 1
T(n) = 4T(n−2) + 3
Continuing this expansion gives:

T(n) = 2ⁿ − 1

Thus, the time complexity of Tower of Hanoi is exponential, O(2ⁿ), making it impractical for large values of n.


(c) Properties of Binomial Trees


A binomial tree of order k, denoted as Bₖ, has specific structural properties. It contains exactly 2ᵏ nodes and has a height of k. The root of the binomial tree has k children, which themselves are roots of binomial trees of orders k−1, k−2, ..., 0.


Each binomial tree is defined recursively and has the property that the number of nodes at depth d is equal to C(k, d). These properties make binomial trees suitable for implementing binomial heaps, which support efficient merging operations.


(d) Proof that a Red-Black tree with n internal nodes has height at most 2log(n+1)


A Red-Black tree is a balanced binary search tree with specific coloring properties. One crucial rule is that no two red nodes can be adjacent, meaning every red node must have black children.


Let bh be the black height of the tree. The minimum number of nodes in a Red-Black tree with black height bh is at least 2ᵇʰ − 1. Since the height h of the tree is at most twice the black height (because red nodes can only appear between black nodes), we have:
 

h ≤ 2bh

Since n ≥ 2ᵇʰ − 1
⇒ bh ≤ log(n + 1)

Therefore:

h ≤ 2log(n + 1)

This proves that Red-Black trees are height-balanced and guarantee logarithmic time operations.


(e) Why a shortest path cannot contain a cycle
 

A shortest path between two vertices must be the path with minimum total weight. If a path contains a cycle, it means that some vertices are revisited.
 

If the cycle has positive weight, removing it will reduce the total path cost, contradicting the assumption that the path was shortest. If the cycle has zero weight, removing it keeps the cost the same but simplifies the path. If the cycle has negative weight, the path can be reduced indefinitely, meaning no shortest path exists.
 

Hence, a shortest path never contains a cycle.
 

(f) Difference between adjacency list and adjacency matrix
 

An adjacency matrix represents a graph using a two-dimensional array where rows and columns represent vertices. It allows fast edge lookup but consumes O(V²) space, making it inefficient for sparse graphs.
 

An adjacency list stores each vertex along with a list of its adjacent vertices. It uses O(V + E) space and is efficient for sparse graphs. Traversal is also faster in adjacency lists for most graph algorithms.
 

(g) Branch and Bound technique
 

Branch and Bound is an optimization technique used to solve combinatorial problems. It systematically explores solution spaces by branching into subproblems and uses bounds to eliminate subproblems that cannot produce better solutions than the current best.
 

This method significantly reduces computation compared to brute force. It is commonly applied in problems like the Traveling Salesman Problem and Knapsack Problem.
 

(h) Dynamic Programming vs Divide and Conquer
 

Divide and Conquer breaks a problem into independent subproblems, solves them recursively, and combines results. Subproblems do not overlap, as seen in merge sort.
 

Dynamic Programming is used when subproblems overlap. It stores intermediate results to avoid recomputation, improving efficiency. Examples include Fibonacci, LCS, and Matrix Chain Multiplication.


(i) Complexity of naïve string matching algorithm
 

The naïve string matching algorithm compares a pattern of length m with a text of length n by shifting the pattern one position at a time.
 

In the worst case, it performs m comparisons for each of the n−m+1 shifts, resulting in a time complexity of O(nm).
 

(j) Difference between NP-Hard and NP-Complete
 

NP-Hard problems are at least as hard as the hardest problems in NP but may not belong to NP. NP-Complete problems are both in NP and NP-Hard.
 

Every NP-Complete problem can be verified in polynomial time, while NP-Hard problems may not have verifiable solutions in polynomial time.
 

SECTION B

(Attempt any three – Detailed solutions)
 

(a) Counting Sort on array {2,0,2,3,5,7,6,3,0,2,1,3}
 

Counting sort works by counting occurrences of each element. First, an auxiliary array C is created to store frequencies. The maximum element is 7, so C has indices 0 to 7.
 

After counting frequencies, cumulative counts are computed. Then the output array is built by placing elements in their correct positions using cumulative counts.
 

This algorithm runs in O(n + k) time and is stable, making it efficient for integers in a limited range.


(c) Minimum Cost Spanning Tree and Prim’s Algorithm

A Minimum Cost Spanning Tree (MST) connects all vertices of a graph with minimum total edge weight and no cycles.
 

Prim’s algorithm starts from an arbitrary vertex and repeatedly adds the minimum-weight edge that connects a vertex in the tree to a vertex outside it. This process continues until all vertices are included.

Using a priority queue, Prim’s algorithm runs in O(E log V) time.
 

(e) Approximation Algorithm and Vertex Cover
 

An approximation algorithm produces solutions close to optimal within a known factor. A P(n) approximation algorithm guarantees a solution within P(n) times the optimal.
 

For the vertex cover problem, a 2-approximation algorithm repeatedly selects an edge and includes both its endpoints in the cover. This guarantees the solution is at most twice the optimal size.
 

SECTION C

(Attempt any one – Detailed explanation)
 

(a) Merge Sort Algorithm and Time Complexity
 

Merge sort follows the divide and conquer approach. It divides the array into halves until single-element arrays are obtained. Then, it merges these arrays in sorted order.
 

The recurrence relation is:

T(n) = 2T(n/2) + O(n)

Using the Master Theorem, the time complexity is O(n log n) in all cases. Merge sort is stable and efficient but requires additional memory.
 

(b) Quick Sort with Example
 

Quick sort selects a pivot, partitions the array around the pivot, and recursively sorts subarrays.

Applying quick sort to:
12, 13, 10, 5, 7, 3, 2, 17, 23, 16

After successive partitions, the sorted order becomes:
2, 3, 5, 7, 10, 12, 13, 16, 17, 23

The average time complexity is O(n log n), but the worst case is O(n²). Proper pivot selection reduces the likelihood of worst-case behavior.

File Size
160.19 KB
Uploader
SuGanta International

Featured educators

Meet our verified teachers

Browse profiles with clear experience, subjects, and availability—then open the full profile in SuGanta.

KISHAN KUMAR DUBEY

KISHAN KUMAR DUBEY

Sant Ravidas Nagar Bhadohi, Uttar Pradesh

This is Kishan Kumar Dubey. I have done my schooling from CBSE, graduation from CSJMU, post graduation from ASU and appear in B.Ed. from MGKVP on aided seat. I have 2 years experience in academic class (Future Shapers C...

Both Online & Offline · Member since 2026

A-Level Chemistry A-Level Mathematics

Subjects

2

Experience

5 Years

Hourly

₹201-300

Swethavyas bakka

Swethavyas bakka

Hyderabad, Telangana

I have 10+ years of experience in teaching maths physics and chemistry for 10th 11th 12th and intermediate students all my students till today are 90% grade. Even an average student got 90%

Both Online & Offline · Member since 2026

A-Level Mathematics Advanced Chemistry (Secondary) +3

Subjects

5

Experience

10 Years

Hourly

₹501-600

Vijaya Lakshmi

Vijaya Lakshmi

Hyderabad, Telangana

I am an experienced teacher ,worked with many reputed institutions Mount Carmel Convent , Chandrapur Maharashtra India, St Paul’s H.S Hyderabad, Fiitjee school Narayanaguda. I have handled students of different age gr...

Online Only · Member since 2026

A-Level Biology A-Level Physics +8

Subjects

10

Experience

30+ Years

Hourly

₹501-600

Shifna sherin F

Shifna sherin F

Gudalur, Tamilnadu

Hi, I’m Shifna Sherin! I believe that every student has the potential to excel in Math with the right guidance. I offer dedicated tutoring for 10th-grade students, covering everything from foundational basics to advanced...

Both Online & Offline · Member since 2026

Advanced Mathematics (Middle School) Advanced Mathematics (Secondary) +6

Subjects

8

Experience

5 Years

Hourly

₹401-500

Divyank Gautam

Divyank Gautam

Pune, Maharashtra

An IIT graduate having 8 years of experience teaching Maths. Passionate to understand student problems and accordingly innovate teaching methodology.

Private tutor · Member since 2026

Subjects

—

Experience

—

Status

—

Explore Tutors In Your Location

Discover expert tutors in popular areas across India

SEO Training Near Noida Sector 93 – Learn Search Engine Op... Sector 93, Greater Noida
Data Analytics Training Near Noida Sector 94 – Learn Data... Greater Noida
SEO Training Near Noida Sector 95 – Learn Search Engine Op... Greater Noida
Digital Marketing Classes Near Noida Sector 96 – Learn Mod... Greater Noida
Graphic Designing Classes Near Noida Sector 97 – Learn Cre... Sector 97, Greater Noida
Digital Marketing Classes Near Noida Sector 98 – Learn Mod... Expressway, Sector 98, Noida, Greater Noid...
Graphic Designing Classes Near Noida Sector 99 – Learn Cre... Greater Noida
App Development Classes Near Noida Sector 100 – Learn Mobi... Sector 100, Greater Noida
Web Development Classes Near Noida Sector 101 – Learn Codi... Greater Noida
App Development Classes Near Noida Sector 102 – Complete G... Greater Noida
Web Development Classes Near Noida Sector 103 – Complete G... Greater Noida
TOEFL Coaching Near Noida Sector 104 – Complete Preparatio... Sector 104, Greater Noida
IELTS Coaching Near Noida Sector 105 – Complete Guide for... Greater Noida
TOEFL Coaching Near Noida Sector 106 – Complete Guide for... Greater Noida
IELTS Coaching Near Noida Sector 107 – Expert Training for... Greater Noida
Public Speaking Training Near Sector 108 Noida – Build Con... Greater Noida
Public Speaking Training Near Sector 109 Noida – Improve C... Greater Noida
🇯🇵 Japanese Language Classes Near Sector 110 Noida – Learn... Sector 110, Greater Noida
🇪🇸 Spanish Language Classes Near Sector 111 Noida – Learn... Greater Noida
🇫🇷 French Language Classes Near Sector 112 Noida – Learn F... Greater Noida
⭐ Premium Institute Network

Discover Elite Educational Institutes

Connect with top-tier educational institutions offering world-class learning experiences, expert faculty, and innovative teaching methodologies

SHASTRI'S PHYSICS CLASSES, NAGPUR

Type

Coaching Center

SHASTRI'S PHYSICS CLASSES, NAGPUR

Nagpur, Maharashtra

Best Physics Classes in Nagpur | Shastri's Physics Classes offers expert coaching for CBSE. MS-BOARD, NEET, JEE, MHT-CET, 11th & 12th Physics. Clear concepts, regular tests & personal doubt solving. J...

Private · Est. 2021-Present

Students

51-100

Teachers

1-10

Branches

1

Réussi Academy of languages

Type

Coaching Center

Réussi Academy of languages

Geeta Bhawan Square, Indore, Madhya pradesh

Excellence in Language. Leadership in Results. With over 18 years of distinguished experience, Réussi Academy of Language stands as a trusted name in foreign language and communication training. Foun...

Private · Est. 2021-Present

Students

1-50

Teachers

1-10

Branches

1

IGS Institute

Type

Coaching Center

IGS Institute

Sector 22, Noida, Uttar Pradesh

IGS Institute provide classes for SSC, Bank, Railway, Police, NDA, Airforce Group X and Group Y, Teaching exams. IGS - Institute for Government Services providing classes since 2018 to the students.

Private · Est. 2011-2020

Students

51-100

Teachers

1-10

Branches

1

Krishna home tutor

Type

School

Krishna home tutor

New Delhi, New Delhi

Hi everyone, Krishna home tutor. Providing tutors for all subjects and classes since 2001.

Private · Est. 2001-2010

Students

201-500

Teachers

76-100

Branches

1

Edustunt Tuition Centre

Type

Coaching Center

Edustunt Tuition Centre

Hoshiarpur, Punjab

We provide online& offline tuition classes,doubt clearance sessions & exam preparation services for students from school level to university level.

Private · Est. 2021-Present

Students

1-50

Teachers

1-10

Branches

1