算法练习笔记(八)—— 树的BFS遍历
来源:互联网 发布:数据加载慢如何解决 编辑:程序博客网 时间:2024/04/30 02:44
BFS遍历,广度优先搜索,在用法上来说和这周所学的贪心算法有着很大程度上的相似
与深度优先算法不同的是,算法会在遍历完一棵树中每一层的每个结点之后,才会转到下一层继续,在这一基础上,二维数组和队列将会对算法起到很大的帮助
题目地址:https://leetcode.com/problems/binary-tree-level-order-traversal/#/description
题目:Binary Tree Level Order Traversal
描述:
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]
BFS解答:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution { vector<vector<int>> result; public: void BFS(TreeNode * root, int dep){ if(!root)return; if(result.size() == dep) result.push_back(vector<int>()); result[dep].push_back(root -> val); BFS(root -> left, dep + 1); BFS(root -> right, dep + 1); } vector<vector<int>> levelOrder(TreeNode* root) { BFS(root, 0); return result; }};
0 0
- 算法练习笔记(八)—— 树的BFS遍历
- 算法练习笔记(八)—— 寻找最大路径树
- 白书练习 层次遍历 (二叉树的bfs)
- 算法练习笔记(七)——在BST树中的遍历
- 算法学习笔记(六) 二叉树和图遍历—深搜 DFS 与广搜 BFS
- 算法学习笔记 二叉树和图遍历—深搜 DFS 与广搜 BFS
- 算法学习笔记 二叉树和图遍历—深搜 DFS 与广搜 BFS
- 算法练习笔记(15)—— 哈希表的练习
- 图的遍历记(深度和广度优先搜索—BFS&&DFS)的笔记
- 第十二周项目三 图遍历算法实现——广度优先(BFS)遍历
- Javascript算法练习(八)
- Javascript算法练习(八)
- 算法练习笔记(十三)——图的克隆
- 算法练习笔记(五)— 图
- 树的广度深度优先遍历算法 DFS BFS
- BFS算法(类似与树的层次遍历)
- 【算法导论】图的广度优先搜索遍历(BFS)
- 算法学习:图的宽度优先遍历(BFS)
- 动态规划--大盗阿福
- eclipse neon git 提交窗口太小问题
- LoadRunner 之 itoa() 函数
- hdu 2795
- POJ 2186Popular Cows(tarjan求连通分量+拓扑排序)
- 算法练习笔记(八)—— 树的BFS遍历
- Spring 注解方式管理Bean
- 数据结构——栈和队列
- 帧动画内存的的释放-----处理大量图片内存问题
- codeforces 792 C. 删除尽量少的位数后是3的倍数 (取余问题+分类讨论+模拟吧)
- c++设计模式的实现
- 线性结构之队列
- LeetCode-213. House Robber II (JAVA)(有环)
- tensorflow搭建多层感知器网络(MLP)