Composite systems are large complex systems con- sisting of interconnected agents (subsystems). Agents in a com- posite system interact with each other towards performing an in- tended goal. Controllability is essential to achieve desired system performance in linear time-invariant composite systems. Agents in a composite system are often uncontrollable individually, further, only a few agents receive input. In such a case, the agents share/communicate their private state information with pre-specified neighboring agents so as to achieve controllability. Our objective in this paper is to identify an optimal network topology, optimal in the sense of minimum cardinality information transfer between agents to guarantee the controllability of the composite system when the possible neighbor set of each agent is pre-specified. We focus on graph-theoretic analysis referred to as structural controllability as numerical entries of system matrices in complex systems are mostly unknown. We first prove that given a set of agents and the possible set of neighbors, finding a minimum cardinality set of information (interconnections) that must be shared to accomplish structural controllability of the composite system is NP-hard. Subsequently, we present a polynomial-time algorithm that finds a 2-optimal solution to this NP-hard problem. Our algorithm combines a minimum weight bipartite matching algorithm and a minimum spanning tree algorithm and gives a subset of interconnections which when established guarantees structural controllability, such that the worst-case performance is 2-optimal. Finally, we show that our approach directly extends to weighted constrained optimal net- work topology design problem and constrained optimal network topology design problem in switched linear systems.