BFS和DFS在二叉树和图中运用较多;
文章目录
1.BFS实现方式
基本概念和知识——传送门
1.1 BFS (队列)
BFS实现基本上是基于队列的。众所周知,队列特性,FIFO(先进先出)。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
void BFS(TreeNode *root)
{
queue<int> data;
data.push(root);
while(!data.empty())
{
TreeNode *temp = data.pop();
if(temp->left != NULL)
{
data.push(temp->left);
}
if(temp->right != NULL)
{
data.push(temp->right);
}
}
}