Step 1: Explanation of algorithms and data structures.
- **BFS (Breadth-First Search)**: BFS uses a **Queue** data structure to explore the graph level by level (A - IV).
- **DFS (Depth-First Search)**: DFS uses a **Stack** to explore the graph deeply by visiting nodes along a path before backtracking (B - I).
- **Heap Sort**: Heap Sort uses a **Priority Queue** to efficiently retrieve the maximum or minimum element (C - III).
- **Storage on Secondary Storage Devices**: Secondary storage devices like hard disks or SSDs often use **B Trees** for efficient searching and indexing (D - II).
Step 2: Conclusion.
The correct matching is **(A) - (IV), (B) - (II), (C) - (III), (D) - (I)**.
In C language, mat[i][j] is equivalent to: (where mat[i][j] is a two-dimensional array)
Suppose a minimum spanning tree is to be generated for a graph whose edge weights are given below. Identify the graph which represents a valid minimum spanning tree?
\[\begin{array}{|c|c|}\hline \text{Edges through Vertex points} & \text{Weight of the corresponding Edge} \\ \hline (1,2) & 11 \\ \hline (3,6) & 14 \\ \hline (4,6) & 21 \\ \hline (2,6) & 24 \\ \hline (1,4) & 31 \\ \hline (3,5) & 36 \\ \hline \end{array}\]
Choose the correct answer from the options given below:
Match LIST-I with LIST-II
Choose the correct answer from the options given below:
Consider the following set of processes, assumed to have arrived at time 0 in the order P1, P2, P3, P4, and P5, with the given length of the CPU burst (in milliseconds) and their priority:
\[\begin{array}{|c|c|c|}\hline \text{Process} & \text{Burst Time (ms)} & \text{Priority} \\ \hline \text{P1} & 10 & 3 \\ \hline \text{P2} & 1 & 1 \\ \hline \text{P3} & 4 & 4 \\ \hline \text{P4} & 1 & 2 \\ \hline \text{P5} & 5 & 5 \\ \hline \end{array}\]
Using priority scheduling (where priority 1 denotes the highest priority and priority 5 denotes the lowest priority), find the average waiting time.