我在 ruby 中实现了一个最小堆,我想针对更专业的代码进行测试,但我无法让 Kanwei 的 MinHeap 正常工作。这个:
mh = Containers::MinHeap.new # Min_Binary_Heap.new
for i in 0..99999
mh.push(rand(9572943))
end
t = Time.now
for i in 0..99999
mh.pop
end
t = Time.now - t
print "#{t}s"
我的版本在 2.2 秒内对 100,000 个值执行相同的弹出操作,我认为这非常慢,但这甚至不会完成运行。这是预期的还是我做错了什么?