自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 从0到1|[004]前缀和与

前缀和与差分一、一维前缀和1. 算法介绍前缀和本身严格来说并不能说是一个算法,它更像是一种 工具 ,帮助我们解题。类比的说,前缀和,与我们中学所学知识里数组中的 前n项和Sn 的概念相近。计算前缀和本身并不能帮我们解决问题,而通过计算前缀和却可以帮助我们更快、更好的完成问题的解决。例如,输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。int n,m;scanf("%d%d",&n,&

2022-04-20 22:38:49 221

原创 从0到1|[003]二分法

1. 算法介绍二分查找属于查找的一种,其算法时间复杂度可以达到O(log2 n)。故而是一种简便而快速的查找方法。利用二分查找,我们通常解决的是 单调函数 上的问题。当然,离散的点(数组)也算是其中的范畴。在这里多提一句,单调函数的问题可以利用二分法来解决,但是二分法解决的问题不全是单调函数上的问题。2.算法思想条件在学习算法思想之前,首先要着重强调使用该算法的 条件 :1.该算法所作用的序列必须是有序序列。2.该算法运行一次只能查找一个数值元素,不能查找多个元素。引出

2022-04-16 17:09:14 832

原创 从0到1|[002]归并排序

归并排序1. 算法介绍初步认识举个并不恰当的例子:归并排序的过程其实先将每一个数组元素看成一个group,然后将每一个group进行排序后,再将group两两合并;然后再对新合成的group进行排序(此时每一个group里含有两个元素),再将它进行两两合并。以此类推,直到最后整个数组排序成功。正式介绍归并排序同快速排序一样,也是一种基于 分治 思想的排序,时间复杂度也为O(nlog2n)。与快速排序不同的是,归并排序是一种 稳定 的排序方法。2.算法思想归并排序主要是依据递归来实

2022-04-15 21:37:01 91

原创 从0到1|[001]快速排序

1. 算法介绍快速排序是基于 分治 理念的一种算法,其基于冒泡排序,平均时间复杂度可以达到O(nlog2n)。值得一提的是,该算法并不稳定。并且在极端情况下,时间复杂度可以达到O(n2)。2. 算法思想 在一轮快速排序中,将需要首先在数组中选取一个基准数字x。一般情况下,基准数字可以是左边界,右边界,中值或随机一个数组中的数字。 引用两个指针i和j,分别指向左边界和右边界。 i指针 向右 查询第一个 不小于x 的元素,而j指针则 向左 查询第一个 不大于x的元素,然后将

2022-04-15 18:21:24 482

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除