![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷刷刷
文章平均质量分 65
江淮子弟
转行,自律,疯狂,迷信数学
展开
-
完全背包问题C++
完全背包C++代码原创 2022-11-10 23:49:55 · 284 阅读 · 0 评论 -
01背包问题
01背包问题滚动数组实现01背包原创 2022-11-08 20:50:05 · 123 阅读 · 0 评论 -
筛选1-n的质数
输入:n输出:一个整数,表示 1∼n 中质数的个数。原创 2022-11-08 01:19:17 · 290 阅读 · 0 评论 -
模拟散列表C++
hash表又称散列表,由Hash函数(散列函数)与链表结构共同实现。与离散思想类似,对复杂信息进行统计,可以用hash函数将复杂信息映射到一个容易维护的值域内,同时需要处理hash函数映射的值产生冲突的情况。原创 2022-11-07 21:02:52 · 201 阅读 · 0 评论 -
Bellman-ford
bellman-ford算法解决有边数限制的带权最短路径原创 2022-11-07 00:56:53 · 67 阅读 · 0 评论 -
Dijkstra算法C++
Dijkstra算法(普通版和堆优化版)Spfa算法Floyd算法时间复杂度:数据量比较密集时:数据存储用邻接矩阵较大值MAX选用:32bit中通常int最大值为,但是此处需要对MAX进行加法,为负数,显然不符合最短路径算法中的松弛操作,因此,如果能满足就完美符合松弛操作。的十进制是1061109567,是10910^9109级别的,而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。朴素Dijkstra算法二、堆优化版本时间复杂度:堆优化版的d原创 2022-11-06 23:14:39 · 1155 阅读 · 1 评论 -
string相关简单题
字符串相关简单题原创 2022-07-14 23:09:09 · 58 阅读 · 0 评论 -
栈 && 队列 && 前缀树 && 二叉树 &&并查集
栈 && 队列 && 前缀树 && 二叉树 &&并查集原创 2022-07-14 23:06:35 · 1346 阅读 · 0 评论 -
动态规划相关算法
动态规划是运筹学中用于求解决策过程中的最优化数学方法。每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。由于动态规划解决的问题多数有原创 2022-07-02 13:44:42 · 1289 阅读 · 0 评论 -
BFS && DFS
BFS一般与队列Queue一起。方法一:BFS1、依次遍历grid,找到1的元素,将坐标 [i,j] 放入队列中;2、取出队列中元素,对 1 元素周围进行递归“同化”,并将‘1’的元素依次入队列;3、岛屿数为遍历中找到的 1 的数目;方法二:DFS1、依次遍历grid,找到1的元素;2、对 1 元素周围进行递归“同化”,同化(将1->0);3、岛屿数为遍历中找到的 1 的数目;方法三:并查集一维数组 二维数组二维数组 [x,y] 转一维数组 key:key=x∗col+ykey....原创 2022-07-02 13:41:34 · 117 阅读 · 0 评论 -
链表相关算法
大道无形原创 2022-07-02 13:39:59 · 938 阅读 · 0 评论 -
数组相关算法
第一章 数组第二章 链表数组是连续存储的空间,利用下标索引的方式获取相应数据。88.合并两个有序数组 easy33.搜索旋转排序数组二分查找判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有和为 0 且不重复的三元组。难点是去重!27.移除元素 [快慢指针]移除元素==保留正确元素利用快指针找到正确的元素,将正确的元素赋值给慢指针。从而在慢指针的移动范围内都是正确的。977.有序数组的平方 [左右收缩双指针]补充math中常见函数1.绝对原创 2022-07-02 13:40:14 · 139 阅读 · 0 评论