Skip to content

Instantly share code, notes, and snippets.

@alexspark
Last active January 16, 2018 08:37
Show Gist options
  • Save alexspark/0e400f555dd182b8ded4caec1d1feae6 to your computer and use it in GitHub Desktop.
Save alexspark/0e400f555dd182b8ded4caec1d1feae6 to your computer and use it in GitHub Desktop.
Pre-order traversal of a binary tree
class Node
attr_accessor :value, :left, :right
def initialize(value)
@value = value
end
end
def pre_order_traversal(node)
puts node.value
pre_order_traversal node.left if node.left
pre_order_traversal node.right if node.right
end
a = Node.new(1)
a.left = Node.new(2)
a.left.left = Node.new(3)
a.left.right = Node.new(4)
a.right = Node.new(5)
pre_order_traversal(a) # 1, 2, 3, 4, 5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment