Practice Questions
Practice Questions
a)
#include <vector>
float matrix_vector_mult(const std::vector<std::vector<float>>& matrix, const
std::vector<float>& vector) {
if (matrix.size() != 4 || matrix[0].size() != 4 || vector.size() != 4) return 0.0f;
float result[4] = {0};
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
result[i] += matrix[i][j] * vector[j];
}
}
return result[0] + result[1] + result[2] + result[3];
}
b)
import numpy as np
def compute_exp_threshold(arr):
result = np.zeros_like(arr)
for i in range(len(arr)):
result[i] = min(np.exp(arr[i]), 100.0)
return result
Memory Management
return cache[n]
b) Analyze memory management (stack, heap, static)
class Node:
self.value = value
self.left = None
self.right = None
def tree_depth(node):
if node is None:
return 0
left_depth = tree_depth(node.left)
right_depth = tree_depth(node.right)
#include <vector>
float matrix_vector_mult(const std::vector<std::vector<float>>& matrix, const
std::vector<float>& vector) {
if (matrix.size() != 4 || matrix[0].size() != 4 || vector.size() != 4) return 0.0f;
float result[4] = {0};
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
result[i] += matrix[i][j] * vector[j];
}
}
return result[0] + result[1] + result[2] + result[3];
}
b)
import numpy as np
def compute_exp_threshold(arr):
result = np.zeros_like(arr)
for i in range(len(arr)):
result[i] = min(np.exp(arr[i]), 100.0)
return result
DAG .. IDENTIFY IMPORTANT INSTRUCTIONS FROM THE GIVEN
CODE = AND THEN GENERATE DIRECTED ACYCLIC GRAPHS
B)
#include <vector>