
算法专栏
文章平均质量分 89
魔术师的徒弟
The misery
展开
-
0-1BFS算法求最短距离
补周赛题时遇到的算法原创 2022-05-30 19:17:46 · 790 阅读 · 0 评论 -
高级数据结构(二)—线段树及其应用
线段树及其应用原创 2022-04-24 23:59:14 · 925 阅读 · 0 评论 -
朴素遗传算法的C++实现
搞了一上午。。。原创 2022-04-15 14:31:34 · 747 阅读 · 0 评论 -
算法中的数学知识(三)—容斥原理与简单博弈论(SG定理)
容斥原理与简单博弈论。原创 2022-04-12 22:05:46 · 3706 阅读 · 0 评论 -
算法中的数学知识(二)—高斯消元法、求组合数的四种方法、卡特兰数
高斯消元法、求组合数的四种方法、卡特兰数原创 2022-04-08 22:44:01 · 1008 阅读 · 1 评论 -
C++位运算实现补码加法(异或被称为不进位加法的原因)
位运算积累原创 2022-04-01 16:26:43 · 1806 阅读 · 0 评论 -
算法中的基础数学知识(一)—初等数论
本人的LeetCode账号:魔术师的徒弟,欢迎关注获取每日一题题解,快来一起刷题呀~本人Gitee账号:路由器,欢迎关注获取博客内容源码。文章目录一、知识框架二、质数1、质数的判定—试除法2、分解质因数—试除法3、筛质数1 朴素筛法2 优化1—埃氏筛法3 优化2—线性筛法4 leetcode204. 计数质数三、约数1、试除法求约数2、约数个数与约数之和3、最大公约数—欧几里得算法四、欧拉函数1 公式法求欧拉函数2 筛法求欧拉函数3 Acwing201.可见的点4 数论中的欧拉定理五、快速幂算法1 模.原创 2022-03-23 23:25:05 · 1345 阅读 · 1 评论 -
搜索与图论3—最小生成树问题(prim算法、Kruskal算法)和二分图问题(染色法、匈牙利算法)
母鸡哇啦路飞!原创 2022-03-18 17:58:51 · 774 阅读 · 1 评论 -
搜索与图论2—一文读懂最短路问题的所有常用算法(Dijkstra,DijkstraHeap,Bellman_Ford,SPFA,Floyd)
超详细的最短路算法介绍与例题原创 2022-03-07 21:31:47 · 786 阅读 · 11 评论 -
搜索与图论1—深搜、宽搜、拓扑排序
海的那边,到底是什么呢?原创 2022-03-05 14:23:31 · 848 阅读 · 0 评论 -
LeetCode双指针算法总结1
双指针算法是一类依靠单调性来去除结果的算法。原创 2022-03-04 20:22:40 · 657 阅读 · 0 评论 -
高精度乘法的两种实现方式
高精度乘法原创 2022-02-27 18:42:00 · 933 阅读 · 0 评论 -
基础数据结构(二):字典树、并查集、堆、哈希表、字符串的哈希方式、STL的常见容器及其接口
基础数据结构(二):字典树、并查集、堆、哈希表、字符串的哈希方式、STL的常见容器及其接口原创 2022-02-23 23:15:03 · 1055 阅读 · 1 评论 -
LeetCode1994. 好子集的数目—状压DP
状态压缩dp原创 2022-02-22 16:46:06 · 467 阅读 · 0 评论 -
LeetCode838. 推多米诺—开学第一天的LeetCode每日一题= =
gogogo原创 2022-02-21 10:46:08 · 243 阅读 · 0 评论 -
基础数据结构(一):链表、单调栈、单调队列、KMP
数组模拟单链表、数组模拟双链表、数组模拟栈和队列、单调栈、单调队列、KMP原创 2022-02-20 14:58:09 · 586 阅读 · 0 评论 -
一种类选择排序:煎饼排序
煎饼排序原创 2022-02-19 13:57:45 · 347 阅读 · 0 评论 -
常用基础算法及例题(快速选择、归并求逆序对个数、二分、高精度、前缀和与差分、双指针、位运算、离散化、区间合并)
常见基础算法总结原创 2022-02-13 20:32:12 · 1335 阅读 · 0 评论 -
DFS和BFS经典例题总结1
踏歌而行八荒路 物我两往九逍遥 芒鞋斗笠千年走 万古长空一朝游原创 2022-02-10 23:55:41 · 2670 阅读 · 0 评论 -
贪心算法经典例题总结1
文章目录一、贪心算法思想二、买卖股票的最佳时机II二、买卖股票的最佳时机含手续费三、跳跃游戏II四、零钱找零五、多机调度问题六、活动选择七、最多可以参加的会议数目八、无重叠区间一、贪心算法思想 贪心算法的思想就是将问题分解为一个一个的子问题,对每个子问题都去取在子问题条件下的最优解,然后把这些解组合到一起即为贪心算法的解。 从贪心算法思想的描述就能看出,这种算法很难保证自己的解就是问题的最优解,因为最优解对应的子结构可能不都是最优的,这时便无法使用贪心算法。 由于这个问题,贪心算法的应用场景相原创 2022-02-08 15:41:47 · 2995 阅读 · 1 评论 -
动态规划之背包问题(修建中)
小天使请安原创 2022-01-29 18:32:27 · 1515 阅读 · 0 评论 -
快速幂算法及其在动态规划中的应用(矩阵幂)
小天使请安原创 2022-01-29 18:29:37 · 1220 阅读 · 1 评论 -
八大排序的思想讲解与排序算法可视化
文章目录一、插入排序1.直接插入排序2.希尔排序3.对比希尔排序和直接插入排序的速度4.希尔排序时间复杂度分析二、选择排序1.直接选择排序2.堆排序三、交换排序1.冒泡排序2.横向对比冒泡排序和直接选择排序和直接插入排序3.快速排序单趟排序的目标单趟排序之hoare版本单趟排序之挖坑法单趟排序之前后指针法多趟排序递归写法递归写法的快排两个缺陷快排无法解决的缺陷小区间优化快速排序非递归实现(栈模拟)四、归并排序1 基本思想2一、插入排序1.直接插入排序 核心思想: 把一个数插入一个有序区间。原创 2021-11-19 18:10:27 · 1818 阅读 · 5 评论 -
照书写轮子——图的五种常见接口的实现(DFS、BFS、最小生成树问题、最短路径问题、关键路径问题)
如要查看本人写的有关图的全部代码,可以在本人的gitee中的C语言学习仓库里找MyGraph文件。我的Gitee 顺手点个收藏吧 本文用到了图的邻接矩阵存储、图的邻接表存储、图的边集数组存储,具体实现可以参考我的上一篇有关图存储结构的文章图的五种存储结构及其C语言实现 本文参考了《大话数据结构》 清华大学出版社 程杰著,个人认为这本书讲的还不错,大家有兴趣的话可以去看看,有什么不懂的地方可以私信问我问题(尽管我还差两章才看完)文章目录????一、图的遍历????1.深度优先遍历????1.1原创 2021-10-26 03:34:45 · 1064 阅读 · 5 评论 -
辗转相除法求解最大公约数和最小公倍数的数学原理
文章目录0. 符号规定1.辗转相除法证明2.(a,b)[a,b]=ab证明0. 符号规定gcd(a,b)————————————a和b的最大公约数gcd(a,b)————————————a和b的最大公约数gcd(a,b)————————————a和b的最大公约数amodb————————————a除b的余数a mod b————————————a除b的余数amodb————————————a除b的余数(a,b)————————————a和b的最大公约数(a,b)————————————a和原创 2021-10-05 01:38:24 · 815 阅读 · 0 评论 -
一次性搞懂KMP算法,解决你对k=next[k]的回溯疑惑
一次性搞懂KMP算法原创 2021-10-02 21:44:37 · 2179 阅读 · 12 评论 -
C语言实现粒子群算法
C语言实现粒子群算法一、粒子群算法介绍 粒子群算法是一种进化算法,其思想来源是模仿自然界中的鸟类觅食。 假设有50只鸟随机出现在一个位置,并且他们有随机的初始速度,假设单位时间内初始速度不变,单位时间后,他们会到达一个新的位置,并且会判断自己这个位置的好坏程度(可以理解成离食物的远近),其他的鸟儿下一次选择速度的时候会学习在好坏程度上的自己的历史最优位置和所有鸟的历史最优位置,调整自己的速度,然后重复上述过程,直到轮次结束。 我们可以用这种思想来寻找全局最优解,假设我们要找一个二维函数f(x,原创 2021-09-26 16:32:54 · 2749 阅读 · 4 评论