
算法专题
文章平均质量分 77
暴躁小程序猿
坚持每天分享自己学习算法的心得,如果感觉有学到东西就给博主点点关注支持一下~
展开
-
动态规划---线性dp和区间dp
本篇博客涉及了线性dp和区间dp,还有对应的算法题目讲解帮助理解算法,希望对大家有帮助~原创 2023-03-25 22:44:01 · 1799 阅读 · 18 评论 -
算法竞赛必考算法——动态规划(01背包和完全背包)
动态规划01背包问题和完全背包问题详解,分分钟拿捏动态规划原创 2023-03-18 18:54:46 · 2860 阅读 · 53 评论 -
动态规划(一):01背包问题和完全背包问题
01背包问题和完全背包问题的朴素算法和多种优化算法原创 2023-02-23 22:30:25 · 8174 阅读 · 158 评论 -
蓝桥杯数论必考算法------快速幂
蓝桥杯数论必考算法------快速幂。原创 2023-02-20 21:20:03 · 6018 阅读 · 128 评论 -
拓扑排序 (算法思想+图解+模板+练习题)
如果是一个有向无环图,那么一定有一个点的入度为0,如果找不到一个入度为0的点,这个图一定是带环的。将队列里的点依次出队列,然后找出所有出队列这个点发出的边,删除边,同时边的另一侧的点的入度 -1。对于有向图每个结点都有入度和出度,入度就是指向该结点的边数,出度就是该结点指向其他结点的边数。一个有向图,如果图中有入度为 0 的点,就把这个点删掉,同时也删掉这个点所连的边。然后D的入度为0,我们同样操作,最后图被删除干净,证明可以拓扑排序。总结一下拓扑排序就是只有从前指向后的边,没有从后指向前的边。原创 2023-01-13 19:13:41 · 33322 阅读 · 163 评论 -
数据结构---各类排序算法详解
本篇博客针对排序的算法首先分为四大类:插入排序,选择排序,交换排序,归并排序,对每一类排序的思想都进行了说明,同时每一类排序下又细化出很多排序,如直接插入排序,希尔排序,快速排序等等,这些算法都有动图演示和画图思路详解,还附有每种算法的源代码实现,最重要的知识点快速排序的非递归实现和归并排序的非递归实现放在最后面详细讲解,有了前面各种算法思想的铺垫对于后面实现非递归也有一定的帮助,希望可以帮助到大家~ 接下来会持续跟新博客,分享自己的心得,欢迎大家交流~原创 2022-12-16 17:52:16 · 1815 阅读 · 31 评论 -
蓝桥杯必备算法分享——差分算法
差分的概念是相对与前缀和说明的。今天分享了差分算法,这个算法可以和之前的前缀和算法比较着学习,这两个算法的关系很紧密,理解了其中一个另外一个也很容易理解,作用就是给所选区间中的每个数加上C,提高时间效率,使时间复杂度达到O(n),希望对大家有帮助,我们明天见~原创 2022-11-15 22:02:35 · 1744 阅读 · 2 评论 -
前缀和算法
需要注意的是下标要从1开始,之前我们的数列数组大多都是从下标0开始,但是这里需要从1开始,理由下面会阐述。我们先从数学的角度来说,一维可以理解为一条线,而二维就是一个平面,一位前缀和是在一个线段上所有的点的和,二维前缀和就是在某个特定平面内所有点的和,现在我用图来帮助大家理解:二维前缀和要注意容斥原理,一定要小心别多减去某区域的和。今天给大家分享了前缀和的一维和二维情况,同时对于不好理解的地方也进行了画图讲解,希望可以对大家有所帮助,如果有什么地方存在错误欢迎大家指正,我们明天见~原创 2022-11-10 17:04:41 · 1491 阅读 · 14 评论 -
秒懂二分算法
我们今天进入到二分算法,之前总结了快速排序和归并排序的模板,没有细分其中数据到底是什么类型,今天的二分算法我们根据数据的类型分为两个模板(整数二分,浮点数二分),每个模板都有自己适应的情况,大家可以根据题目的不同选择不同的模板进行套用。原创 2022-11-07 15:47:07 · 900 阅读 · 0 评论 -
七大排序算法——归并排序
上一篇博客我分享了快速排序算法的思路和源代码,同时留了一个问题,快速排序的时间复杂度是多少?现在公布答案:快排的时间复杂度是O(n).今天我给大家分享的是七大排序算法中的第二种——归并排序。这篇博客涉及归并排序,归并排序总体分为三步:1.确定分界点2.递归排序左右区间3.双路归并 合二为一。原创 2022-11-05 18:33:50 · 905 阅读 · 1 评论 -
七大排序算法——快速排序
现在我们开始进入算法模块,在分享数据结构的知识的同时开始分享编程的算法,欢迎大家交流,有不对的地方欢迎大家斧正,也希望大家集思广益,拓展思维。快排总结:1.确定数组q,确定左端点l,确定右端点r。2.确定划分边界x3.按照划分的边界x将数组分成=x的两个区间。4.分别递归处理两个区间。快排定下划分边界x后就从左右端点位置开始向中间走,两个区间中不满足就停下,同时停下了就交换数据然后继续向下走,直到两个下标相等了或者左边区间的下标大于右边区间的下标了就停止,也就完成了快排。原创 2022-11-04 21:16:13 · 1643 阅读 · 24 评论