第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有優(yōu)先級隊列的 Dijkstra (Python)

具有優(yōu)先級隊列的 Dijkstra (Python)

RISEBY 2023-03-22 11:05:04
我一直在嘗試在 Python 中使用 Dijkstra 算法實現(xiàn)優(yōu)先級隊列和距離表。這是優(yōu)先隊列的實現(xiàn):from heapq import heapify, heappush, heappopclass priority_dict(dict):    def __init__(self, *args, **kwargs):        super(priority_dict, self).__init__(*args, **kwargs)        self._rebuild_heap()    def _rebuild_heap(self):        self._heap = [(v, k) for k, v in self.items()]        heapify(self._heap)    def smallest(self):        heap = self._heap        v, k = heap[0]        while k not in self or self[k] != v:            heappop(heap)            v, k = heap[0]        return k    def pop_smallest(self):        heap = self._heap        v, k = heappop(heap)        while k not in self or self[k] != v:            v, k = heappop(heap)        del self[k]        return k    def __setitem__(self, key, val):        super(priority_dict, self).__setitem__(key, val)                if len(self._heap) < 2 * len(self):            heappush(self._heap, (val, key))        else:            self._rebuild_heap()    def setdefault(self, key, val):        if key not in self:            self[key] = val            return val        return self[key]    def update(self, *args, **kwargs):        super(priority_dict, self).update(*args, **kwargs)        self._rebuild_heap()    def sorted_iter(self):        while self:            yield self.pop_smallest()這是結(jié)果:Traceback (most recent call last):  File "dijkstra.py", line 76, in <module>    shortest_path(g, 0, 6)  File "dijkstra.py", line 46, in shortest_path    distance_table = build_distance_table(graph, source)  File "dijkstra.py", line 23, in build_distance_table    while len(priority_queue.keys()) > 0:AttributeError: 'numpy.float64' object has no attribute 'keys'我正在使用 Python 3.7。我在網(wǎng)上搜索過,雖然它與 Python 版本有關(guān)。無法弄清楚為什么它看不到該屬性。你能告訴我我錯過了什么嗎?
查看完整描述

1 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗 獲得超13個贊

priority_queue = distance

本來應(yīng)該:

priority_queue[neighbor] = distance

解決了,謝謝


查看完整回答
反對 回復(fù) 2023-03-22
  • 1 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號