Tree Traversal

BFS:

if(root == null){
return;
}

q.enQueue(root);
process(root);
while(!q.isEmpty()){
Node n = q.deQueue():
process(n);
if(n.left != null) {
q.enQueue(n.left);
}
if(n.right != null){
q.enQueue(n.right);
}
}

DFS:

innode: left, root, right

innode(node){
if(node == null){
return;
}
innode(node.left);
process(node);
innode(node.right);
}

 

prenode: root, left, right

prenode(node){
if(node == null){
return;
}
process(node);
prenode(node.left);
prenode(node.right);
}

 

postnode: left, right, root

postnode(node){
if(node == null){
return;
}
postnode(node.left);
postnode(node.right);
process(node);
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s