What types of questions is graph theory best suited at answering? I'm dealing with a particular optimization problem at work (financial scorecards), and I noticed that my dataset can be set up as a set of DAGs, where the scorecards for each customer comprise a customer-specific tree. However, I'm unsure as to whether that's a useful characterization.
To that extent, in a more broad sense, I was wondering: what types of question does graph theory best answer? I can think of a few applications, namely:


*

*find minimum distance between nodes (e.g., directions from point A to point B)

*optimal path for traverse entire graph and hitting all nodes while minimizing distance (e.g., traveling salesman)

*given an incomplete graph, determine whether some nodes should be connected (e.g., "find my friends" on facebook/linkedin)


Are there any other major applications?
 A: Going from a dataset (that is not itself essentially a graph) to a graph data structure means you are losing information.  Thus:


*

*If the information lost is unimportant for the problem you want to solve, then this is a gain.  You might still not be able to solve the problem, but solving it is, in principle, easier.

*If the information lost is important, then either:


*

*If the dataset is e.g. too large too process as a whole, you might still be better off going to a graph data structure (and merely acknowledging this limitation when reporting the results), or

*you're better off working with the original data.



I was shot down the other day with this situation.  I wanted to analyse term co-occurences in Twitter data using graph methods.  I was asked "Why graphs?  Why not just analyse the data directly?" to which I did not have a sensible answer.
I think it's hard to say what problems graph theory is best at solving (aside from saying something tautological ["it's best at solving graph theory problems"], or philosophical ["any problem solved on the graph can also be solved using the original data"]).  However, there's a list of notable graph algorithms over at Wikipedia (here), perhaps becoming familiar with the algorithms there would give intuition as to what problems graph theory is best at solving.
