0% found this document useful (0 votes)
2 views

Data Structure 2

Uploaded by

ranajitbarik071
Copyright
© © All Rights Reserved
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% found this document useful (0 votes)
2 views

Data Structure 2

Uploaded by

ranajitbarik071
Copyright
© © All Rights Reserved
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

​Here are concise explanations for your queries:

1. Difference between Linear & Non-Linear Data Structures

Linear Data Structure: Data is organized sequentially (e.g., Arrays, Stacks, Queues).
Non-Linear Data Structure: Data is organized hierarchically or non-linearly (e.g., Trees, Graphs).

2. Push and Pop Algorithms (Stack Operations)

Push (Insert): Add an element to the top of the stack.

Algorithm:
1. If TOP == MAX - 1, then Overflow.
2. Else, TOP = TOP + 1; STACK[TOP] = Element.

Pop (Remove): Remove the top element from the stack.

Algorithm:
1. If TOP == -1, then Underflow.
2. Else, Element = STACK[TOP]; TOP = TOP - 1.

3. Overflow and Underflow Situations

Overflow: Occurs when adding an element exceeds the structure's capacity (e.g., pushing into a full stack).
Underflow: Occurs when trying to remove an element from an empty structure (e.g., popping an empty stack).

4. Difference Between Stack and Array

Stack: Follows LIFO (Last In, First Out). Operations are restricted to one end (top).
Array: Elements are indexed; supports random access. No restrictions on operations.

5. Circular Queue and Its Advantages Over Linear Queue

Circular Queue: End of the queue connects to the front, making it circular.
Advantages: Utilizes space efficiently, avoids "queue full" issues in a partially empty array.

6. Priority Queue and Dequeue

Priority Queue: Elements are dequeued based on priority rather than order of arrival.
Dequeue (Double-Ended Queue): Elements can be added/removed from both ends.

7. Postfix Evaluation

Postfix notation eliminates the need for parentheses. Use a stack to evaluate.
Example: 3 4 + evaluates as (3 + 4).

8. Infix to Postfix & Prefix Conversion

Infix: Operators between operands (e.g., A + B).


Postfix: Operators after operands (e.g., AB+).
Prefix: Operators before operands (e.g., +AB).

9. Singly Linked List & Advantages

Singly Linked List: Nodes contain data and a pointer to the next node.
Advantages: Dynamic size, efficient insertion/deletion.

10. Tower of Hanoi (Short Note)

A puzzle involving moving disks from one rod to another, following these rules:
1. Only one disk moved at a time.
2. A larger disk cannot be placed on a smaller disk.

11. Algorithm to Insert a Node at Beginning, Middle, and Last

Beginning:

1. Create a new node.


2. Point new node’s next to the head.
3. Update head to the new node.

Middle:

1. Traverse to the desired position.


2. Adjust pointers to insert the new node.

Last:

1. Traverse to the last node.


2. Point last node's next to the new node.

12. Binary Tree

A tree where each node has at most two children: left and right.

13. Strictly, Full, & Complete Binary Trees

Strictly Binary Tree: Each node has 0 or 2 children.


Full Binary Tree: All levels are completely filled except possibly the last.
Complete Binary Tree: All levels are filled, and the last level has nodes as far left as possible.

13. Binary Tree Traversals

Given a binary tree:

A
/ \
B C
/ \ \
D E F

In-order (LNR): Traverse left subtree, root, right subtree.


Output: D, B, E, A, C, F
Pre-order (NLR): Traverse root, left subtree, right subtree.
Output: A, B, D, E, C, F
Post-order (LRN): Traverse left subtree, right subtree, root.
Output: D, E, B, F, C, A

14. Short Note on Abstract Data Type (ADT)

An ADT is a data structure defined by its behavior from the user's perspective.
Includes operations but not implementation details.
Example: Stack ADT with operations like Push(), Pop(), IsEmpty().

15. Define B-Tree

A B-Tree is a self-balancing search tree where nodes can have multiple children.
Ensures balanced height.
Used in databases and file systems.
Properties:
Each node contains t-1 to 2t-1 keys, where t is the order.
Leaves are at the same level.

16. Construct an AVL Tree

Steps to construct:
1. Insert nodes while maintaining a balanced height difference of ≤ 1 between subtrees.
2. Perform rotations (LL, RR, LR, RL) as needed to balance.
Example: Insert 10, 20, 30.

Insert 10.
Insert 20. No imbalance.
Insert 30. Imbalance at root (LL rotation).
Resulting tree:

20
/ \
10 30

17. Construct a Binary Tree Given In-order & Pre-order Traversals

Given:

In-order: D, B, E, A, C, F
Pre-order: A, B, D, E, C, F
Steps:

1. First element of pre-order is root (A).


2. Split in-order into left (D, B, E) and right (C, F) subtrees based on root.
3. Recursively construct subtrees.

Constructed tree:

A
/ \
B C
/ \ \
D E F

18. Polynomial Representation Using Linked List

A polynomial can be represented as a linked list where each node contains:


Coefficient
Exponent
Pointer to the next term

2
Example: 3𝑥 + 4𝑥 + 5

Node1: Coefficient = 3, Exponent = 2 → Node2: Coefficient = 4, Exponent = 1 → Node3: Coefficient = 5,

Operations:

Addition/Subtraction: Traverse, match exponents, and adjust coefficients.


Multiplication: Multiply coefficients, add exponents, and combine terms.

Let me know if you want detailed construction examples or algorithms!

You might also like