TutorialStudyMite

Breadth First Search Tree Traversal

Sstudymite1 min read
Beginner friendly

Track completion, mastery, and revision.

Breadth-First Search Traversal of a Tree

For breadth-first traversal, we will use a queue. We will first push a node to it and for each node in front, we'll check if its left and right child exist if yes then push it to the queue, and in the next iteration pop front and print it.

#include<bits/stdc++.h>
using namespace std;
struct Node{
int data;
Node* left;
Node* right;
Node(int data){
this->data = data;
left = right = NULL;
}
};
void bfs(Node* root){
if(root == NULL) return;
queue<Node*> q;
q.push(root);
while(!q.empty()){
int size = q.size();

}
int main() {
/*
1
/    
2      3
/   \   /  
4     5 6    7
 root = new Node(1);
root->left = new Node(2);
root->left->left = new Node(4);
root->left->right = new Node(5);
root->right = new Node(3);
root->right->left = new Node(6);
root->right->right = new Node(7);
bfs(root);
return 0;
}

Finished reading?

Was this helpful?

Your feedback shapes better tutorials for everyone.