Class: RedBlackTree::Node::EmptyNode

Inherits:
RedBlackTree::Node show all
Defined in:
lib/red_black_tree.rb

Constant Summary

Constants inherited from RedBlackTree::Node

UNDEFINED

Instance Attribute Summary

Attributes inherited from RedBlackTree::Node

#color, #key, #left, #right, #value

Instance Method Summary collapse

Methods inherited from RedBlackTree::Node

#black?, #check_height, #each_key, #each_value, #keys, #red?, #set_root, #values

Constructor Details

#initializeEmptyNode

Returns a new instance of EmptyNode.



385
386
387
388
# File 'lib/red_black_tree.rb', line 385

def initialize
  @value = nil
  @color = :BLACK
end

Instance Method Details

#delete(key) ⇒ Object

returns [deleted_node, new_root, is_rebalance_needed]



413
414
415
# File 'lib/red_black_tree.rb', line 413

def delete(key)
  [self, self, false]
end

#dump_sexpObject



421
422
423
# File 'lib/red_black_tree.rb', line 421

def dump_sexp
  # intentionally blank
end

#dump_tree(io, indent = '') ⇒ Object



417
418
419
# File 'lib/red_black_tree.rb', line 417

def dump_tree(io, indent = '')
  # intentionally blank
end

#each(&block) ⇒ Object



398
399
400
# File 'lib/red_black_tree.rb', line 398

def each(&block)
  # intentionally blank
end

#empty?Boolean

Returns:

  • (Boolean)


390
391
392
# File 'lib/red_black_tree.rb', line 390

def empty?
  true
end

#insert(key, value) ⇒ Object

returns new_root



403
404
405
# File 'lib/red_black_tree.rb', line 403

def insert(key, value)
  Node.new(key, value, self, self)
end

#retrieve(key) ⇒ Object

returns value



408
409
410
# File 'lib/red_black_tree.rb', line 408

def retrieve(key)
  UNDEFINED
end

#sizeObject



394
395
396
# File 'lib/red_black_tree.rb', line 394

def size
  0
end