почему нужно вызывать _siftdown в конце функции _siftup в Python Moudle Heapq - PullRequest
0 голосов
/ 27 октября 2019

Я читаю исходный код heapq и обнаружил, что функция _siftup наконец-то называется _siftdown. Я думаю, что это немного избыточно. Я хочу знать, что это действительно необходимо?

Я провел тест между двумя условиями, но я не нашел никакой разницы между этими двумя условиями. тестовый код ниже (heap_test является копией кучи и прокомментировал последнюю строку _sifup):

from heapq_test import heapify as heapify_test

import heapq
import random

for _ in range(200000):
    a = [random.randint(0, 30) for _ in range(100)]
    b = a.copy()
    heapify_test(a)
    heapq.heapify(b)
    assert a == b
...