Explain how a hash map works internally: hashing, collision resolution strategies (separate chaining vs. open addressing), load factor, and resizing. Provide average‑ and worst‑case time complexities for search, insert, and delete. Contrast arrays and linked lists for random access and insertion; give typical use cases for a stack versus a queue and their time complexities.