{ "q01": { "type": "order", "question": "\n\n\nMatch the path terms below to the following definitions:\n\n\n\n
    \n
  1. Number of edges in a path.
  2. \n
  3. When the first and last node in a path is the same.
  4. \n
  5. When each node appears at most once in a path.
  6. \n
\n", "responses": { "cycle": "Cycle", "length": "Length", "simple": "Simple" } }, "q02": { "type": "order", "question": "\n\nMatch the graph terms below to the following definitions:\n\n\n\n
    \n
  1. There exists a path between any two nodes in a graph.
  2. \n
  3. When edges can only be traversed in one direction.
  4. \n
  5. When each edge has a corresponding cost.
  6. \n
  7. When every node has the same degree.
  8. \n
  9. When every node has a degree n - 1.
  10. \n
\n", "responses": { "connected": "Connected", "complete": "Complete", "directed": "Directed", "regular": "Regular", "weighted": "Weighted" } }, "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." } }, "q06": { "type": "multiple", "question": "\n\n\nWhich of the following statements regarding spanning trees is true (choose\nall that apply)?\n\n\n", "responses": { "spanning": "In a spanning tree, there is path between any two nodes in the graph.", "acyclic": "Spanning trees are both connected and acyclic.", "single": "There is usually only one way to form a spanning tree.", "minimum": "A minimum spanning tree is a spanning tree that has the least amount of weight as possible.", "maximum": "A maximum spanning tree is a spanning tree that has the most amount of edges as possible.", "unique": "There is usually only one unique minimum spanning tree in a graph.", "greedy": "We can use greedy algorithms to construct minimum spanning trees.", "priority": "To implement Prim's algorithm, we can use a priority queue." } } }