class Heap::BinaryHeap::BinaryHeap
Binary Heap
template
Public Class Methods
new(elements = [])
click to toggle source
# File lib/Heap/binary_heap/binary_heap.rb, line 8 def initialize(elements = []) @elements = [] add(elements.pop) until elements.empty? end
Protected Instance Methods
get_children(index)
click to toggle source
# File lib/Heap/binary_heap/binary_heap.rb, line 13 def get_children(index) child1 = 2 * index child2 = 2 * index + 1 children = {} children[@elements[child1 - 1]] = child1 unless @elements[child1 - 1].nil? children[@elements[child2 - 1]] = child2 unless @elements[child2 - 1].nil? children end