What is a graph data structure & types of graph