use only std::vector for adjacency_list vector/edge storage