a. When you first search for the depth or breadth of the first search, should we use open and closed lists?
With DFS, you definitely need to keep at least the current path. Otherwise, you cannot retreat. If you decide to keep a list of all visited (closed) nodes, you can detect and avoid loops (expanding the same node more than once). On the other hand, you no longer have DFS space efficiency. DFS without a private list requires space proportional to the depth of the search space.
With BFS, you need to keep an open list (sometimes called fringe). Otherwise, the algorithm simply cannot work. When you additionally maintain a closed list, you (again) will be able to detect / avoid loops. With BFS, the extra space for a private list might not be that bad, since you should still support fringe. The ratio between the size of the strip and the size of the closed list is highly dependent on the structure of the search space, so this should be considered here. For instance. for branch coefficient 2, both lists are equal in size, and the effect of having a closed list does not seem very bad compared to its advantages.
How about A *, is it necessary?
A *, since it can be considered as some special (informed) type of BFS, an open list is needed. Lowering a closed list is more delicate than with BFS; also deciding on updating costs in a closed list. Depending on these solutions, the algorithm may no longer be optimal and / or complete depending on the type of heuristic used, etc. Here I will not go into details.
IN.
Yup, a closed list should contain some kind of inverse tree (pointers go to the root of the node), so you can extract the solution path. For this, you usually need a private list. For DFS, your current stack is exactly the solution (there is no need to close the list here). Also note that sometimes you are not interested in the path, but only in the solution or its existence.
FROM.
Read the previous answers and find the parts that talk about loop detection.
D.
To avoid closed list loops: do not expand nodes that are already in the closed list. Note: given startup costs (remember A *), things can get more complicated.
E. Is there a difference between looking for trees and graphics?
You can consider a search that supports a closed list to avoid loops in the form of graphical queries and those that do not have a single tree search.