![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing
文章平均质量分 92
元子方
努力和爱生活.
展开
-
AcWing 算法基础课笔记 5.动态规划(持续更新)
AcWing 算法基础课笔记 3.搜索与图论背包问题主要思想01背包完全背包多重背包分组背包线性DP区间DP背包问题主要思想DP主要从两个角度进行考虑:状态表示 f ( i , j ):用几维来表示状态,每一个状态的含义是什么。集合:是所有选法的集合,选择过程有两个条件:只能从前 i 个物品中选当前总体积 <= j属性:最大值max,最小值min,元素数量状态计算:如何一步步把每一个状态算出来一般来说,对应的是集合的划分。例如 在算到某一个物品 i 时,将集合划分为原创 2022-10-03 22:03:59 · 918 阅读 · 1 评论 -
AcWing 算法基础课笔记 3.搜索与图论(持续更新)
AcWing 算法基础课笔记 3.搜索与图论深度优先遍历DFS与宽度优先遍历BFS二者对比DFS深度优先遍历DFS与宽度优先遍历BFS二者对比都可以对整个搜索空间进行遍历。搜索的时候都是像一棵树一样搜索。但是搜索的顺序不一样:DFS 优先深度,到不能再前进的时候(叶子节点)再回溯。BFS 一层层搜索,搜索完每一代节点后,再搜索下一代节点。DFSBFS数据结构stackqueue空间O(h)O(2h)DFS 在空间使用上有优势,但不具有最短路性。B原创 2021-06-02 03:39:12 · 1075 阅读 · 0 评论 -
AcWing 算法基础课笔记 2.数据结构
AcWing 算法基础课笔记 2.数据结构链表与邻接表:树与图的存储链表数组模拟单链表模拟方法单链表模板数组模拟双链表模拟方法双链表模板栈与队列:单调队列、单调栈kmpTire并查集链表与邻接表:树与图的存储链表使用结构体加指针的方式实现链表非常慢,所以笔试题一般不用,这里使用数组模拟链表的方式。主要讲以下两点:数组模拟单链表模拟方法单链表在算法题、笔试里用的最多的是邻接表邻接表最常见的应用就是:存储图和树模拟方式如下:使用 e[ ] 存储值 .val,ne[ ] 存储指针指向下一原创 2021-05-19 18:52:13 · 1012 阅读 · 0 评论 -
AcWing 算法基础课笔记 1.基础算法
AcWing 算法基础课笔记 1.基础算法排序快速排序基本思想思路讲解快排模板归并排序基本思想思路归并模板二分整数二分基本思想注意点整数二分模板浮点数二分基本思想浮点数二分模板排序快速排序基本思想基于分治。第一步 确定分界点x:取左边界q[l],或者取中间值q[(l+r)/2],或者取右边界q[r],也可以随机。第二步 调整区间(较难部分):让小于等于x的数在一个区间,大于x的在另一个区间第三步 递归处理左右两端平均时间复杂度: O(nlogn)每层期望是 n/2 ,递归深度 logn原创 2021-05-14 18:12:19 · 3676 阅读 · 3 评论