**Data structures** are ways of organizing and storing data in a computer’s memory so that it can be accessed and used efficiently.

It represents data in a logical and organized manner, which is used to perform different operations like faster searching, insertion, and deletion of data.

#### Some common data structures include:

- Arrays: A collection of elements of the same data type stored in contiguous memory locations.
- Linked Lists: A collection of elements where each element stores a reference to the next element in the sequence.
- Stacks: A collection of elements where the last element added is the first one to be removed.
- Queues: A collection of elements where the first element added is the first one to be removed.
- Dictionaries
- Hash Table
- Linear list
- Skip list
- Trees: A hierarchical data structure consisting of nodes connected by edges, where each node can have any number of children.
- Graphs: A collection of vertices connected by edges, where each edge can have a weight or other attributes.
- Sorting.
- Tries.
- pattern matching.

#### Choosing the appropriate data structure:

It depends on the specific requirements of the problem at hand like given below:

- such as the size of the data,
- the type of operations that need to be performed on the data, and
- the expected performance of the program.

### Important Questions:

1. Explain the various operations that can be performed on different Data Structures.

2. Define Queue, how it is different from the stack and how is it implemented (both array and linked list).

3. State the difference between queues using an array and a linked list.

4. Define Stack? Explain about application of stack.

5. A+(B/C)*D-E/F

Convert this infix expression into a postfix expression using stack.

6. A-B*(C+D/E)+F*(G+H)

Convert this infix expression into prefix expression using stack?

7. +/23 72-34 15*2

Evaluate this prefix expression using stack.

8. 34 61 25*28 63/2 *+-

Evaluate this post-fix expression using stack.

9. Explain operations in a single linked list.

10. Define the implementation of Queue with array and linked list.

- Define dictionary and explain different representations of dictionary
- a) Distinguish between double hashing and rehashing

b) Explain extendable hashing with an example - Explain about linear probing and Quadratic probing with example
- Define a) Hash collision

and b)Hash function - Explain different Hash collision techniques used in hashing.
- Explain different hash functions used in collision resolution technique.
- List the Applications of the dictionary
- Explain the Applications of hashing

1. Explain AVL tree algorithms with their operations.

25,1,27,13,2,15,65,66,7,9,18 Insert these keys into the AVL tree.

Delete 15, 65, 18, 2,13Search 27, 7,9

2. Explain red-black tree algorithms with its27,12,15,4,8,3,65,83,42,31, 17,16 insert these keys into the red-black tree Delete 15, 12, 83, 4, 27

3. Explain splay tree algorithms with their operations by using your example

4. Distinguish the binary search tree, AVL tree, red-black tree and splay tree

5. Define tree terminology by taking one example

1. Explain graph implementation methods using an example

2. apply the graph traversal technique to this graph

3. 15,5,8,23,9,18,16,63,52,4 4,1 Sort these elements using heap sort to get ascending order.

4. Explain external sorting using the algorithm with your example

5. Describe merge sort using the algorithm and explain with an example

1. Explain the brute force Algorithm an with example

2. Write an Algorithm for Knuth- Morris-pratt with an Example

3. Explain the Boyer-Moore algorithm with Example

4. Write about standard trie with examples

5. Write about Compressed trie with examples

6. Write short notes on the suffix trie using an example

These are the different questions that appear in different university exams. Follow these questions while preparing for exams. It will be helpful to get awareness of the question type.