Discrete Math: Array-Pointer Representation I am confused as to how the table is filled in for a pointer-array representation of a graph, and I can't find anything online that talks much about array-pointer representation. My book does not clearly explain why the numbers are placed where and overall I just feel lost where these numbers even came from. Can anyone explain to me how to fill a table out? 
Here is the books example and array-pointer representation:


I know the number 11 comes from the total number of edges and nodes, I think. The book mentions something about indexes but I don't understand where these indexes come from in the graph..?

This is nothing but an adjacency list representation of a directed graph without using pointers. The first 5 entries in the table are the heads of the linked lists of the 5 nodes, each of which contains all the nodes (and their weights) adjacent to those nodes. 
For example, consider table row in line 2 (that's the index the book talks about). The pointer field in that row is 7, which is the start of the list of out-edges from node 2.
Going to row 7, we have node = 1, weight = 4. That means that node 2 has an out-edge to node 1 with weight 4. You can see from the picture of the graph that that's correct. The row 7 pointer field is 8, meaning that there's another out-edge from node 2 yet to come.
We go to row 8, as directed and find that node 2 has another out-edge to node 4 and that edge has weight 2, again as expected from the picture. The row 8 pointer field is 0, meaning that there are no further edges from node 2.
In complete detail for your digraph we have 
$$\begin{array}{c|cc}
\mathbf{Node} & \mathbf{adjacent} & \mathbf{adjacent}\\
1 & 3 & \\
2 & 1 & 4 \\
3 & 2 & \\
4 & & \\
5 & 2
\end{array}$$
