- 博客(4)
- 收藏
- 关注
原创 AcWing算法基础课——高精度运算
1.1整体思想:模仿正常的整数计算。整数加法实际上是对应的两个数相加,再加上来自上一次计算的进位。计算后对10取余即为该位运算的结果。此处进位的处理可看代码读懂。注意循环结束后要判断最后相加的两位有没有进位。
2023-10-04 10:02:15 165 1
原创 Acwing算法基础课——二分
二分的本质是边界划分而不是单调性,有单调性一定可以使用二分,没有单调性也可以使用二分。二分是寻找边界,将整个区间一分为二,如左半边区间满足,右半边区间不满足。二分找的是一个分界点。二分一定有解,但是不一定满足题意。二分寻找的是边界,一定会存在分界点。
2023-08-30 21:20:46 134 1
原创 Acwing 算法基础课——排序
1.1主要思想主要基于分治思想。确定分界点,调整区间使得左边区间的数都小于等于分界点,右边区间的数都大于等于分界点;再分别对左边和右边的区间进行相同处理,直到最后区间内仅剩1个数或者没有数结束;此时左边和右边都已经排好序了,整体就排好序了。1.2快速排序算法时间复杂度:最差:O(n^2);平均:O ( n l o g n )。1.3.快速排序步骤:a.确定分界点x: q[(l+r)/2] //q[l+r>>1]b.调整区间,使小于等于x的在左边 l,大于等于x 的在右边 r;
2023-08-27 15:44:44 219
原创 sort排序和桶排序(含例题)
c++中的sort()函数排序的时间复杂度为O(nlogn)。使用时需引入头文件#include。调用sort()函数需要传递两个参数,需要排序的首地址和尾地址。在vector中使用sort(a.begin(),a.end()),在数组中使用sort(a,a+n)注:a为数组名,n为数组大小。一般数据范围在1e6以内都可以使用。
2023-08-02 10:13:54 117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人