def dijkstra(graph, node): """ Simulate the dijkstra algorithm in a graph """ distance_to = {} distance_to[node] = 0 distance_path = {} while (distance_to): # in case we have a disjoint graph op_node = min_distance(distance_to) distance_path[op_node] = distance_to[op_node] del distance_to[op_node] for x, x_len in graph[op_node].items(): if x not in distance_path: if x not in distance_to: distance_to[x] = distance_path[op_node] + x_len elif distance_to[x] > distance_path[op_node] + x_len: distance_to[x] = distance_path[op_node] + x_len return distance_path
А. В изображении 256 * 128 = 32768 пикселей. По формуле 2^i = N получаем, что при N = 2 (монохромный рисунок - всего 2 используемых цвета) число бит на 1 пиксель равно i = 1 бит. Тогда объём файла 1 бит * 32768 = 4096 байт = 4 Кб б. 2^i = 16 -> i = 4 бита на символ. Это в 4 раза больше, чем в пункте а, поэтому ответ в 4 раза больше: 4 * 4 Кб = 16 Кб в. Аналогично, 8 бит на символ - в 2 раза больше, чем в раз, и 2 * 16 Кб = 32 Кб г. 24-разрядный рисунок - такой, в котором на кодировние цвета отводится 24 бита, это в 3 раза больше, чем в п. в; ответ 32 Кб * 3 = 96 Кб