The document covers various data structures and algorithms, including stacks, B-Trees, recursion, BFS, DFS, binary search trees, hash functions, red-black trees, quick sort, and minimum spanning tree algorithms. It also explains Big-O notation and the Fast Fourier Transform (FFT) for efficient polynomial multiplication. Each section provides definitions, properties, advantages, disadvantages, and examples of usage.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
2 views3 pages
2022 Dsa
The document covers various data structures and algorithms, including stacks, B-Trees, recursion, BFS, DFS, binary search trees, hash functions, red-black trees, quick sort, and minimum spanning tree algorithms. It also explains Big-O notation and the Fast Fourier Transform (FFT) for efficient polynomial multiplication. Each section provides definitions, properties, advantages, disadvantages, and examples of usage.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3
Section-A (Short Answers)
1. Define a stack data structure and give an example of its usage.
A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle, meaning the last element added is the first to be removed. Example: Undo functionality in text editors uses a stack to keep track of previous states. 2. Define B-Trees and explain their properties. A B-Tree is a self-balancing search tree in which nodes can have multiple children. Properties: All leaves are at the same level. Each node contains a certain number of keys. Efficient for disk storage and used in databases and file systems. 3. Define the term 'recursion' in the context of programming. Explain its advantages and disadvantages. Recursion is a technique where a function calls itself to solve a problem. Advantages: Simplifies complex problems. Reduces code size for certain problems. Disadvantages: Can lead to stack overflow. Usually less efficient than iterative solutions. 4. Differentiate between BFS and DFS with a suitable example. BFS (Breadth-First Search): Explores neighbors level by level. DFS (Depth-First Search): Explores as far as possible along each branch before backtracking. Example: In a tree, BFS visits all nodes at depth 1 before depth 2, while DFS goes deep into one branch before moving to another. 5. Write an algorithm for Topological Sort of a graph. 1. Identify nodes with no incoming edges. 2. Remove them and add to the result. 3. Repeat until all nodes are processed. Section-B (Long Answers) 6. Define binary search trees (BSTs). Give an example to illustrate the working of the BST insertion and deletion operations. A BST is a binary tree where each node has a value greater than all nodes in its left subtree and less than those in its right. Insertion: Place the new value in its correct position maintaining BST property. Deletion: Remove node and rearrange tree to maintain BST property (three cases: leaf, one child, two children). 7. Explain the Hash Function, its importance, and different types of Hash Functions. A hash function maps data to a fixed-size value (hash code). Importance: Enables fast data retrieval in hash tables. Types: Division method, multiplication method, universal hashing. 8. What is a red-black tree? Explain the process of rotations in red-black trees. A red-black tree is a balanced binary search tree with extra properties for balancing using colors (red, black). Rotations (left, right) are used to maintain balance after insertions and deletions. 9. What is the time complexity of the quick sort algorithm? Explain how it works and give an example of its usage. Average time complexity: . It works by partitioning the array around a pivot and recursively sorting subarrays. Example: Sorting an array of numbers. 10. Explain the minimum spanning tree algorithms with an example. Algorithms: Kruskal’s and Prim’s. They find a subset of edges connecting all vertices with minimum total weight. Example: Connecting cities with minimum road cost.
Section-C (Application/Case Study)
Q11. Explain the concept of Big-O notation. How is it useful in analyzing the time complexity of an algorithm? Give an example of an algorithm and its corresponding Big-O notation. Big-O notation describes the upper bound of an algorithm’s running time as input size grows. Useful for comparing efficiency. Example: Linear search has time complexity , where is the number of elements. Q12. What is the Fast Fourier Transform (FFT) and how is it used to efficiently multiply polynomials? Give an example to illustrate its working. FFT is an algorithm to compute the Discrete Fourier Transform (DFT) efficiently in time. Used to multiply polynomials by transforming them to point-value form, multiplying, then applying inverse FFT. Example: Multiplying two degree-2 polynomials using FFT. If you want full code examples or detailed step-by-step algorithms for any specific question, let me know! ⁂