The graph is very large but undirected. Edges are unweighted.
In my implementation, I have to find the vertex with max degree and do deletion on both vertexes and edges.
Graph implementation depends on what you going to do with it. But for most cases Adjacency list based implementation helps.
In Java you can do it using a Map<>. Here is generic Adjacency List based Graph.Java implementation on my blog.