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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python,heapq,如何高效修改heapq中的最小元素?

Python,heapq,如何高效修改heapq中的最小元素?

躍然一笑 2021-09-11 15:02:02
我在 python 3.7 中使用 heapq我有兩個(gè)關(guān)于 heapq 的問(wèn)題:如果我只想修改 min 元素,我不知道如何有效地保持堆不變。這是我的實(shí)現(xiàn)。(速度很慢)q= [5,8,9,10]heapq.heapify(q)q[0] = 1200heapq.heapify(q)這兩個(gè)方法 _siftdown() 和 _siftup() 有什么用?它們之間有什么區(qū)別?如何使用這兩種方法來(lái)保持堆不變性?最后,我使用_siftdown() 實(shí)現(xiàn)了一段代碼(但是我對(duì)這兩種方法仍然很困惑,不確保我的代碼是否正確。)s = time.time()q = []for i in range(0, 10000):    heapq.heappush(q, i)for i in range(0, 10000):    q[0] = 10000+i    heapq._siftup(q,0)print(q[0])e2 =time.time()print(e2-s)s = time.time()q = []for i in range(0, 10000):    heapq.heappush(q, i)for i in range(0, 10000):    q[0] = 10000+i    heapq.heapify(q)print(q[0])e2 =time.time()print(e2-s)輸出是:100000.09700560569763184100007.193411350250244
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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