{
"q1": {
"type": "multiple",
"question": "\n\n\nIn regards to greedy algorithms, which of the following statements are true\n(select all that apply)?\n\n\n",
"responses": {
"efficiency": "A greedy algorithm tends to be very efficient.",
"backtrack": "A greedy algorithm will backtrack when it finds a suboptimal solution.",
"approach": "A greedy algorithm constructs a solution by choosing the best option at the moment.",
"guarantee": "A greedy algorithm is guaranteed to find the optimal solution."
}
},
"q3": {
"type": "multiple",
"question": "\n\n\nIn regards to data compression, which of the following statements are true\n(select all that apply)?\n\n\n",
"responses": {
"variable": "Variable-length codes are suboptimal because they utilize longer codewords.",
"prefix": "Codewords can have the same prefix if they are variable length.",
"compress": "To compress a string, we use binary code to replace each character with a corresponding codeword.",
"codeword": "In a constant-length code, the length of each binary code is the same."
}
},
"q2": {
"type": "single",
"question": "\n\n\nGiven n events with their starting and ending times, which of the following\ngreedy strategies is considered optimal?\n\n\n",
"responses": {
"osclass": "I am not in operating systems.",
"begin": "Always choose the event with the earliest start time first.",
"end": "Always choose the event with the earliest end time first.",
"shortest": "Always choose the event with the shortest time first."
}
},
"q4": {
"type": "multiple",
"question": "\n\nGiven the string DACABAD which of the following are valid Huffman\ncodes (select all that apply)?\n\n",
"responses": {
"a": "A = 1, B = 001, C = 000, D = 01",
"c": "A = 1, B = 000, C = 001, D = 01",
"b": "A = 0, B = 110, C = 111, D = 10",
"e": "A = 1, B = 111, C = 110, D = 10",
"d": "A = 0, B = 010, C = 111, D = 10"
}
}
}