{
"q01": {
"type": "order",
"question": "\n**\n\nMatch the path terms below to the following definitions:\n\n**\n\n\n - Number of edges in a path.
\n - When the first and last node in a path is the same.
\n - When each node appears at most once in a path.
\n

\n",
"responses": {
"length": "Length",
"cycle": "Cycle",
"simple": "Simple"
}
},
"q02": {
"type": "order",
"question": "**\n\nMatch the graph terms below to the following definitions:\n\n**\n\n\n - There exists a path between any two nodes in a graph.
\n - When edges can only be traversed in one direction.
\n - When each edge has a corresponding cost.
\n - When every node has the same degree.
\n - When every node has a degree
*n - 1*. \n

\n",
"responses": {
"connected": "Connected",
"directed": "Directed",
"weighted": "Weighted",
"regular": "Regular",
"complete": "Complete"
}
},
"q03": {
"type": "multiple",
"question": "**\n\nGiven the following graph representations:\n\n**\n\n\nGraph 1 (Adjacency Matrix) Graph 2 (Adjacency List)\n0 1 0 1 A: B D\n0 0 0 1 B: A C D\n0 1 0 0 C: B D\n0 0 1 0 D: A B C\n

\n\n**\n\nWhich of the following statements are true (choose all that apply)?\n\n**\n",
"responses": {
"graph1directed": "Graph 1 is directed.",
"graph2directed": "Graph 2 is directed.",
"graph1acyclic": "Graph 1 is acyclic.",
"graph2acyclic": "Graph 2 is acyclic.",
"graph1connected": "Graph 1 is connected.",
"graph2connected": "Graph 2 is connected."
}
},
"q04": {
"type": "multiple",
"question": "**\n\nGiven Graph 1 (assume you have nodes labeled A, B, C, D) in Question 3,\nwhich of the following are valid traversal orders starting from A (choose\nall that apply)?\n\n**\n",
"responses": {
"dfs1": "DFS: A, B, D, C",
"dfs2": "DFS: A, C, B, D",
"bfs1": "BFS: A, D, B, C",
"bfs2": "BFS: A, C, B, D"
}
},
"q05": {
"type": "multiple",
"question": "**\n\nWhich of the following statements are true regarding Dijkstra's algorithm\nfor finding shortest paths (choose all that apply)?\n**\n",
"responses": {
"negative": "The algorithm requires that there are no negative edge weights.",
"efficient": "The algorithm is efficient and can proccess large graphs.",
"shortest": "The algorithm only computes the shortest path from one node to another specific node.",
"greedy": "The algorithm is an example of a greedy algorithm.",
"dynamic": "The algorithm is an example of dynamic programming.",
"priority": "The algorithm can be implemented with a priority queue."
}
}
}