Analyze the time complexity of the following dictionary/hash map operations. (a) Searching for a key: state average-case and worst-case time, and explain how hashing, collision handling (e.g., chaining vs. open addressing), load factor, and resizing affect runtime and constants. (b) Copying all keys into a list: state time and extra space complexity in Big-O, and discuss iteration cost, allocation/resize cost for the list, and any differences for ordered dictionaries. Assume a conventional hash table and a dynamic array–backed list.