5

I'm writing only a partial answer, because I currently lack time. That means that I'm not properly sourcing everything, and largely working from my own memory. I don't believe that anything I say below will be wrong, though it is definitely possible that I might be forgetting a few things. In any case, hopefully this will be enough to get you started / ...


4

You may very well have some examples where you can discuss state machines and hence state diagrams, that is, graphs. For example, if you're creating a game with a computer controlled character, that character might be in different states: pursue, search, attack <-- you can introduce a graph representing the states and transitions. I wrote about this a ...


3

For any problems involving graphs for which you need test data you can use Knuth's less well known work 'The Stanford Graph Base'. This includes many data sets designed to test all kinds of graph problems. The materials are described at https://www-cs-faculty.stanford.edu/~knuth/sgb.html and are available for download at ftp://ftp.cs.stanford.edu/pub/sgb/sgb....


2

I think the best place it could go would be whenever 2D arrays are introduced. You could use them to represent the adjacency matrix of a graph and use that to begin answering all kinds of graph theory questions. You potentially could also cover it after going through class design and ArrayLists if you want to create a Vertex, Edge, and Graph classes... ...


Only top voted, non community-wiki answers of a minimum length are eligible