<prompt> Andika programu ya Python ambayo huhesabu njia fupi kati ya nodi mbili kwenye grafu isiyoelekezwa kwa kutumia algorithm ya Dijkstra. PLINFORMAT  <response>: kuagiza rundodef dijkstragrafu, anza, mwisho: foleni heapq.heapppushfoleni, 0, anza distances nodi: floatinfinity kwa nodi kwenye grafu umbalianza 0 njia_fupi zaidi wakati foleni: current_distance, current_nodi heapq.heappopfoleni ikiwa current_distance umbalicurrent_node: endelea kwa jirani, uzito katika grafucurrent_node.items: umbali sasa_umbali uzito ikiwa umbali umbalijirani: umbalijirani umbali heapq.heappushfoleni, umbali, jirani shortest_pathneighbor current_nodi njia wakati mwisho: njia.ongezamwisho mwisho shortest_path.getmwisho umbali wa kurudi, njia::-1grafu A: B: 3, C: 4, B: A: 3, D: 2, C: A: 4, D: 6, E: 2, D: B: 2, C: 6, E: 1, E: C: 2, D: 1umbali, njia dijkstragrafu, A, EprintNjia fupi:, njiaprintUmbali Mfupi Zaidi:, masafaE 