The paper introduces a method by which to design the topology of a distributed sensor network that is minimal with respect to a communication cost function. In the scenario considered, sensor nodes communicate with each other within a graph structure to update their data according to linear dynamics using neighbor node data. A subset of sensors can also report their state to a central location. One physical interpretation of this situation would be a set of spatially distributed wireless sensors which can communicate with other sensors within range to update data and can possibly connect to a network backbone. The costs would then be related to transmission energy. The objective is to recover the vector of initial sensor measurements from the backbone outputs over time, which requires that the dynamics of the overall networked system be observable. The topology of the network is then determined by the nonzero elements of the optimal observable dynamics. The following text contributes an efficient algorithm for designing the optimal observable dynamics and the network topology for a given set of sensors and cost function, providing proof of correctness and example implementation.