graph representation types in data structure