Controlling complex network dynamics using sparse measurements and actuation: Graph-theoretic perspective