1. What is the time complexity of accessing an element in a hash table?
2. Explain the concept of amortized analysis in data structures.
3. How do you implement a depth-first search (DFS) using recursion in a graph?
4. What is the significance of balancing a binary search tree?
5. How does a self-balancing tree (like AVL or Red-Black Tree) maintain balance?
6. Explain the concept of a splay tree.
7. What is the time complexity of inserting an element into a balanced binary search tree?
8. How do you delete a node in a binary search tree?
9. What are the applications of a priority queue?
10. What is the difference between an adjacency matrix and an adjacency list?
11. How do you find the shortest path using Dijkstra’s algorithm?
12. What are the limitations of Dijkstra’s algorithm?
13. Explain the Bellman-Ford algorithm and its applications.
14. What is a minimum spanning tree (MST)?
15. How do you implement Kruskal’s algorithm for finding an MST?
16. What are the advantages of using a binary heap for implementing a priority queue?
17. Explain the concept of a hash table collision resolution strategy.
18. What is linear probing in a hash table?
19. How do you implement a double-ended queue (deque)?
20. What is a bloom filter, and what are its use cases?
21. How do you represent a graph using an edge list?
22. What is the time complexity of breadth-first search (BFS)?
23. How do you determine if a directed graph is acyclic?
24. Explain the concept of topological sorting and its applications.
25. What is the difference between a full binary tree and a complete binary tree?
26. How do you find the height of a binary tree?
27. Explain the concept of a Trie and its applications in search algorithms.
28. What is a segment tree, and how is it used in range queries?
29. How do you update an element in a segment tree?
30. What is the purpose of a red-black tree in data structure applications?
31. How does a skip list work?
32. What is the difference between depth-first search and breadth-first search in terms of space complexity?
33. How do you merge two sorted linked lists into a single sorted list?
34. Explain the concept of a hash function and its role in hash tables.
35. What is the significance of the load factor in a hash table?
36. How do you implement a graph using adjacency lists?
37. What is the purpose of a disjoint-set data structure?
38. How do you perform union and find operations in disjoint-set?
39. Explain the concept of path compression in disjoint-set data structures.
40. What is a binary indexed tree (Fenwick tree)?