leetcode卡 leetcode:leetcode刷题工程
LeetCode卡目的是记录算法学习。算法一直是我的弱项,大学时做过一点ACM,但总是做了一点就放弃,脑子转不过来。工作多年后,对数据结构有了进一步的认识,思维扩散能力也提升了不少,因此重新开始记录,作为改变的记录。项目结构按照LeetCode里的公司/功能等进行分包,例如字节跳动算法题等。
每日LeetCode刷题:LeetCode卡片题目,分类为队列和栈。
BFS广度优先搜索主要用于最短路径和遍历所有节点。基本套路是找到起始状态和终点状态,然后通过队列记录所有状态,每次遍历队列时路径加1。遍历时,删除第一个节点,对其邻居节点进行遍历并加入队列。
-
步骤:
-
检测节点值是否为目标,是则结束。
-
分析最短路径的邻居节点,了解搜索的分支。
-
一般会使用集合记录已遍历过的节点,避免重复计算。