1. a. No problem. b. Aliasing problem. c. No problem. d. Aliasing problem. e. No problem. 2. a ---->10 ^ ^ c -----| | d -------| b ----> [1, 2, 3, 4, 5] 3. def apply_every_other(l, f): result = [] for i in range(len(l)): if i % 2 == 0: result.append(f(l[i])) return result 4. DFS: No. It will depend on how the state space is searched. If we're not careful, DFS could get stuck searching s -> a -> s -> a ... BFS: Yes. Even though BFS will also explores s -> a -> s -> a ... it will also explore other paths at the same time and will eventually find the solution.