自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高精度计算

对于部分编程语言来说,数据是有存储范围的限制的。例如在Python中,数值的上限和下限都是无穷大,而在C++中,int的取值范围是−231231−1long long的取值范围是−263263−1显然,当我们使用C++计算时的结果超出了long long的取值范围时,我们将无法正确计算出想要的结果。因此需要使用高精度计算算法来进行大整数的计算。

2024-07-11 14:57:45 1064

原创 前缀和与差分

目录1. 算法原理2. 前缀和3. 差分1. 算法原理我们高中时学过数列的求和,例如给出一个数列ana_{n}an​则该数列的前n项和为Sn=a1+a2+a3+⋯+anS_{n} =a_{1}+a_{2}+a_{3}+\dots+a_{n}Sn​=a1​+a2​+a3​+⋯+an​因此又有an=Sn−Sn−1a_{n} =S_{n}-S_{n-1}an​=Sn​−Sn−1​而前缀和与差分的算法思想正是与这两个公式类似。2. 前缀和前缀和指的是,对一个数组a[n],初始化其前缀和数组s[n],使得

2024-07-10 15:49:12 874

原创 二分查找与二分答案

要查找有序数组中的某一个元素,我们可以从头到尾遍历数组来枚举答案,令枚举空间为数组中的所有元素,如果当前元素不为所求元素,则从枚举空间中去除这一元素,继续枚举答案,直到找到正确答案为止。如果i < target,则有数组从第1位元素到第i位元素均小于target,一次枚举就可排除一个以上的元素,大大提高了枚举效率。前面提到,在用二分查找算法对枚举空间进行枚举时,需要根据当前枚举元素与目标值的关系来对枚举空间进行取舍。因此,为了使这种优化尽可能地有效,在每次枚举时,都令被枚举元素为当前枚举空间的。

2024-07-09 22:39:40 750

原创 排序算法(4) 归并排序

归并排序使用了的算法思想,即“分而治之”。其原理是:先将初始数组不断折中分割成若干部分,直到无法再分(每部分只剩一个元素),再按分割前的组合排序后重新拼接在一起,最终得到排序好的数组。由于归并排序的算法原理涉及到先分割再合并的回溯操作,因此采用递归的方式来实现该算法。

2024-07-07 15:11:00 1038

原创 排序算法(3) 堆排序

简要介绍堆排序算法与线性建堆法

2024-07-06 17:19:39 453 1

原创 排序算法(2) 选择排序

选择排序算法分析与证明。

2024-05-11 16:05:17 900 1

原创 排序算法(1) 插入排序

详细介绍并证明插入排序算法。

2024-05-10 10:42:18 869 4

空空如也

空空如也

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

TA关注的人

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