{ "q01": { "type": "order", "question": "\n\n\nMatch the path terms below to the following definitions:\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." } } }