Graphs are mathematical abstractions that are useful for solving many types of problems in computer science Consequently  these abstractions must also be represented in computer programs A standardized generic interface for traversing graphs is of utmost importance to encourage reuse of graph algorithms and data structures