Treating undirected graphs as a subcategory of directed graphs?
Roughly, an undirected graph is very similar to a directed graph where for each edge (v, w), there is always an edge (w, v). That suggests that it might be acceptable to view undirected graphs as a subset of directed graphs (perhaps with an additional restriction that adding/deleting edges can only be done in matching pairs).However, textbooks usually don't follow this treatment, and prefer to define undirected graphs as a separate concept, rather than a subcategory of directed graphs. Is there any reason for that?
simplicity of exposition -- look at your favorite (undirected) graph algorithm, and see how much more complicated it would be (or not) if you had to account for both cases (u,v) and (v,u)
More importantly -- the amount of space you need to store an undirected edge is half the amount needed to store two directed edges. It may seem to be a constant factor improvement, but every bit (ha!) counts