BFS一周总结
来源:互联网 发布:太空望远镜软件 编辑:程序博客网 时间:2024/06/05 20:03
130. Surrounded Regions
542. 01 Matrix
515. Find Largest Value in Each Tree Row
513. Find Bottom Left Tree Value
101. Symmetric Tree
107. Binary Tree Level Order Traversal II
前两道是矩阵遍历,后四道是树的遍历。
先说树的遍历。树的广度优先遍历基本上就是两个套路,一种是用队列存储,pop出头结点并做处理的同时将两个孩子节点(如果存在的话)入队,达到一个广度优先遍历的效果。这里需要注意的是很多题需要在遍历的时候对遍历的层数(深度)有所考虑。例如find largest value in each tree row就是寻找每行的最大值,这个时候的做法一般是在循环开始的时候取len =队列的长度(即本层的长度),然后只对前len个节点进行操作,相当于把本层节点遍历完毕。之后再进入下一层while循环。
另一种方法是利用DFS做BFS。这种方法一般是在深度优先遍历的时候携带深度信息,如果深度信息匹配的话进行相应的操作。
再下来是矩阵遍历。矩阵遍历一般的过程是先找到符合条件的需要展开遍历的点,然后调动遍历函数,遍历函数一开始需要先判断该节点是否符合处理要求,不符合则返回。如果符合的话就对该节点进行处理并且向四个方向继续展开遍历。需要注意的点是边界情况,不要越界。
0 0
- BFS一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 一周总结
- 移动端touch实现下拉刷新
- bzoj1202 [HNOI2005]狡猾的商人
- 二十三、UI-Grid 调整列大小
- 将网页设置为允许 XMLHttpRequest 跨域访问
- 从Git仓库中恢复已删除的分支或丢失的commit
- BFS一周总结
- JAVA_IO_字符流文件写入
- leetcode题解-120. Triangle
- spring配置文件详解--真的蛮详细
- USES_CONVERSION的使用和注意事项
- SpringMVC form:form的一个错误(没有传到前台绑定类)
- Bootstrap引用说明
- CSS 定位属性position
- 使用canvas绘制时钟