![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
记录在LeetCode等平台刷题总结的算法思路
dream161110
这个作者很懒,什么都没留下…
展开
-
简单背包问题小结
简单的背包问题包括0-1背包问题和完全背包问题。0-1背包问题指的是在可选择项里面,每项最多选择一次,即选择0或者1次。完全背包问题指的是可选择项里面的每项可以选无数次。 做题套路: 两层循环,外层是可选择项的每个选项的遍历,里层是背包容量的遍历。在容量增加的情况下,里层的正向遍历会导致重复选择问题,而反序则保证了每个选择最多选择一次。如果0-1背包中每次选项都存在增加或者减少背包容量,则用next数组记录下一步得到的情况,再装回原来的dp数组。 0-1背包问题: 416 分割子集问题 474 一和零 4原创 2020-09-23 14:47:35 · 1316 阅读 · 0 评论 -
c++学习笔记
文章目录1/13号笔记输入输出代码sort函数头文件代码reverse函数头文件代码to_string函数头文件代码运行结果stoi函数头文件代码 1/13号笔记 输入输出 头文件<iostream>包括了scanf和printf的定义,无须再引用<cstdio>头文件。 代码 #include <iostream> scanf("%d", &b); p...原创 2020-03-18 10:26:29 · 159 阅读 · 0 评论 -
广度优先搜索(BFS)
广度优先搜索(BFS)的数据结构是队列queue。算法思路是用vector来记录每层结点,然后清空当前队列,再将该层队列的下一层加入队列。 算法思路: public class BreadthFirstPaths { private boolean[] marked; // 到达该顶点的最短路径已知吗? private int[] edgeTo; // 到达该顶点的已知路径上的最后一个顶点 ...原创 2020-02-17 20:15:29 · 112 阅读 · 0 评论 -
深度优先搜索(DFS)
深度优先搜索的算法分为两种,图和二叉树。 普通dfs是应用在图上,要用布尔数组记录所有结点是否访问过,防止无限递归导致死循环。 // java public class DepthFirstSearch { private boolean[] marked; private int count; public DepthFirstSearch(Graph G, int s)...原创 2020-02-17 18:53:19 · 329 阅读 · 0 评论