Csa3701-Advanced Data Structures and Algorithms Question Bank
Csa3701-Advanced Data Structures and Algorithms Question Bank
Csa3701-Advanced Data Structures and Algorithms Question Bank
QUESTION BANK
1. Define ADT.
2. Asymptotic notations – Define.
3. How to determine the efficiency of an algorithm?
4. Define Amortized analysis.
5. Define Recurrence relations.
6. Calculate the running time for the following code:
for(i=0;i<n;i++)
for(j=0;j<n;j*2)
k++;
7. What do you mean by Balanced trees?
8. What is a leftist heap?
9. Differentiate Binomial heap and Fibonacci heap.
10. What is a priority queue?
11. Define Cascading cut.
12. If we implement the following heap as maximum heap , adding a new node of value 15 to
the left most node of right subtree ,what value will be at leaf nodes of the right subtree of
the heap?
13. Write the pseudo code for merging two Binomial heaps.
14. What are Binary Heaps ? application area of Binary heaps?
15. What is Lazy Binomial heap?
16. Define Skew heap.
17. Define Tries.
18. What are the basic operations on splay trees?
19. What are the advantages of B trees over a binary tree?
20. Define Kd trees.
21. Define AVL tree.
22. What do you mean by Red-Black tree?
23. Give the applications of Kd – tree.
24. When it would be optimal to prefer Red-black trees over AVL trees?
25. Define k-d tree and give its applications.
26. What is 2-3 Trees ?
27. What are the applications of Trie?
28. When do we apply dynamic programming to solve the problems?
29. Write the approximate graph coloring algorithm.
30. Distinguish divide and conquer and dynamic programming.
31. Writ the applications of graph coloring problems
32. Define palindrome partitioning.
33. List out the advantage of dynamic programming over greedy technique.
34. Define 0/1 Knapsack problem.
35. Enlist the different types of Heuristic search methods. Write the components which are
common to these methods.
36. Define local search.
37. Define parallel algorithms.
38. Define Random sampling.
39. What is the need for approximation algorithms?
PART -B
1. Discuss in detail about time complexity and space complexity with an example.
2. Explain the recurrence relation using the forward and backward substitution methods
with examples
3. What are the advantages of Amortized complexity analysis over worst case analysis? Illustrate
with an example.
4. What amortized analysis? Explain in detail.
5. Discuss Min-max heap with an example.
6. Explain min-heap and its operations. Construct min-heap with the set of keys { 10, 2, 7, 6, 5, 9,
12, 35, 22, 15, 1, 3, }. Insert the elements 15, 20 and 45 using bubbling up process. Show the
Min-heap for each insert.
7. Illustrate Leftist heap with an example.
8. Explain the insert and delmin operation with algorithm for a Binomial heap for the following
keys 1,2,3,4,5,6,7
9. Write note on (i) Skew heap (ii) Lazy Binomial Heap
10. Show how do you decrease the key of a node in Fibonacci heap in O(1) amortized time and
how to delete any node from an n-node Fibonacci heap in O(D(n))amortized time.
11. Start with an empty red black tree and insert the following keys in the given order: 20, 10, 5,
30, 40, 57, 3, 2, 4, 35, 25, 18, 22, 21. Draw the figures depicting your tree immediately after
insertion and following the rebalancing rotation or color change. Label all nodes with their
color and identify the rotation type.
12. Explain insertion algorithm to Red-Black tree and insert the following keys:40,10, 30, 35, 25,
27,26, 60, 55,61,80.
13. Define a 2-d tree. Give algorithms for insert and delete operations in 2-d trees.
14. Describe LL rotation, LR rotation in an AVL tree by considering an example
15. Define height-biased min leftist trees. Give an algorithm to meld two such trees that
takes O(log n) time, where n is the total number of elements in the two trees.
16. Explain B-trees with an example. Write the applications of B-trees.
17. Discuss in detail about Binary search trees.
18. Define a 2-3-4 tree. Explain the various operations in 2-3-4 trees with example.
19. Write the general properties of Greedy algorithm.
20. Specify an algorithm for finding convex-hull of set points on a plane.
21. Illustrate Job sequencing with deadlines. Consider a set of given jobs as shown in the
following table. Find a sequence of jobs, which will be completed within their deadlines and
will give maximum profit. Each job is associated with a deadline and profit.
Job J1 J2 J3 J4 J5
Deadline 2 1 3 2 1
Profit 60 100 20 40 20
22. Describe the dynamic programming algorithm for solving the 0-1 knapsack problem. Analyse
its complexity.
23. Explain the approximate vertex cover problem with a neat diagram. Explain its operation
through pseudo code.
24. Explain Quick sort with an example.
25. Write a note on Tree vertex splitting using greedy algorithm.
26. Explain Strassen’s matrix multiplication. Give its applications.
27. Explain palindrome partitioning with suitable example.
28. Write notes on (i) Multistage graph (ii) Palindrome partitioning.
29. Give a detailed account on models of parallel algorithm.
30. Explain various heuristic algorithms in detail.
31. Explain NP hard TSP problem using approximate algorithm.
32. Write notes on (i) Simulated Annealing (ii) Distributed Computation.
33. Elucidate various heuristics algorithms and their applications.