Method: Algorithmable::DataStructs::Tree::BinarySearch#to_print

Defined in:
lib/algorithmable/data_structs/tree/binary_search.rb

#to_printObject



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/algorithmable/data_structs/tree/binary_search.rb', line 59

def to_print
  return if empty?
  queue = new_fifo_queue
  level = 0
  next_level = 1
  out = []
  queue.enqueue @root
  until queue.empty?
    level += 1
    node = queue.dequeue
    out << node.item << ' '
    queue.enqueue node.left if node.left
    queue.enqueue node.right if node.right

    if level == next_level
      next_level += queue.size
      out << "\n"
    end
  end
  out.join
end