Minimize number of DFS searches in a graph
Your problem has two clauses:

A) Given a set $V$ of houses, decide on the set of existing edges $\{(u,v)\}$ with a minimal amount of queries (=helicopter landings), when a single query $Q(v)$ reveals all the edges $(v,u)$.

B) Given a graph $G=(V,E)$, find a path that visits all vertices, that traverses at most $2n$ edges.



The connectivity problem A has a trivial solution of $O(n)$, which under the model you describe can be easily bounded below by an adversary argument, showing it is also optimal.

Consider the following adversary:


Choose arbitrary $v_k$ that was not queried before.
Given query $Q(v_i)$:


If $i$ has been asked before, answer accordingly
If $i$ is new and $i \neq k$ answer that $v_i$ is only connected to $v_k$
If $i$ is new and $i = k$ answer that $v_i$ is connected all previous vertices connected to $v_k$ through previous phase, and to a new vertex $v_j$. Set $v_k \leftarrow v_j$



It is clear any query connects at most $1$ vertex (beside the very first), so regardless of the order of queries an algorithm makes, it must make at least $n-1$ queries to reveal the set of edges, and the connectivity status of the graph.

It follows the naive algorithm of asking all vertices for neighboring edges is also optimal.



The traversal problem is simple; find a spanning tree of $G$ (denoted by $T$), after its been revealed by your helicopter. To visits all vertices, do an euler-tour on $T$. Since $T$ has $n-1$ (or less, if it's a spanning forest and $G$ is not connected) edges  and an euler tour visits each edge twice, you visits all vertices at the maximal cost of $2n-2$ edges.