1. What is the difference between an array and an ArrayList?
2. What is the time complexity of adding an element to the beginning of a linked list?
3. What is the difference between a stack and a queue?
4. What is the time complexity of searching for an element in a hash table?
5. What is the difference between a binary search tree and a red-black tree?
6. What is the time complexity of finding the minimum element in a heap?
7. What is the difference between a graph and a tree?
8. What is the time complexity of traversing a graph using depth-first search?
9. What is the difference between a directed graph and an undirected graph?
10. What is the time complexity of finding the shortest path between two vertices in a graph using Dijkstra's algorithm?