自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【常见基础算法模板】(自用)

acwing——算法基础课。

2025-02-23 00:25:46 204

原创 【数据结构】单调队列

单调队列是一个双端队列。单调队列的特点是队列中的元素按照一定的单调性排列。在插入新元素时,如果新元素破坏了当前的单调性,则在队尾删除一部分元素,直到满足单调性要求,以维护队列单调性。单调队列的典型应用是在滑动窗口中寻找最大/最小值的问题。

2025-02-16 13:10:33 890

原创 【初学记录】——自定义类——大整型

【代码】【初学记录】——自定义类——大整型。

2025-01-14 09:42:18 97

原创 【初学记录】算法——递归——记忆化搜索

这是因为做了很多无用功,比如说f(2)可能由f(4)调用,也可能被f(8)调用,但是f(2)本身的值是固定的,在这里被重复运行了很多次造成了浪费。为了防止这种情况,可以定义一个数组F[],使其每一项F[i]就是当前问题规模为i时的答案,首先将数组初始化为-1,说明F[i]没有被计算过,如果发现F[i]已经计算过,那就直接返回F[i]而不必进行接下来的计算了。有的情况下进行递推,需要求出初始条件,还需要确定递推顺序,(尤其是多维递推时更加复杂),所以这时使用递归思想会容易一些。普通版本:(会超时)

2025-01-14 09:36:33 164

原创 【初学记录】算法——子集枚举

同理,A2也可以表示为二进制数11001,A3可以表示为00100,A4可以表示为00110,此时找到了一种让子集对应二进制数的很直观的方法,但是这种表现发的威力不仅局限于此;易知A1并A2是A1,同时A1交A2是A2,可以写成(a1|a2= =a1)&& (a1& a2= =a2 ).本例一共有5个元素,表示仅包含第i个元素的集合的数字可以使用位移运算构造,写成1

2025-01-13 02:38:33 215

原创 【初学记录】算法--二分查找/二分答案

二分答案本质的上就是猜答案,我们要在一个答案大致所在的区间内猜(二分搜索),把猜的答案扔进check里面去验算,如果不符合条件,就猜(二分搜索)另一个答案。而满足题设条件的答案可能有多个,当要我们求这个答案的最大值和最小值时,就是要求这个区间的左或右端点。常见问法一般为:求最小值的最大值,或者求最大值的最小值。二分查找或者二分答案就是在一个单调区间内找到符合条件的值。

2024-11-10 20:04:45 195

原创 【初学记录】--算法--排序--快速排序

快速排序的时间复杂度要比冒泡排序小一点,但是代码量有点大,这里我自己写了一个通用的快速排序的自定义函数,要对一个数组排序的时候只需要传递这个数组的指针,开头与结尾的序号即可。A:等学完指针再回来补充吧,搞不懂为什么能行,但是代码能跑就行。Q:为什么传递过去的指针可以直接当数组用?

2024-10-23 14:01:06 92

原创 【初学纪录】--自定义函数--交换两变量的值

A:在C语言(以及许多其他低级或系统级编程语言)中,函数参数是通过值传递的,这意味着当你将一个变量作为参数传递给函数时,实际上是将该变量的值的一个副本(为形参赋值)传递给函数。如果在函数内部对这个副本(形参)进行修改,它不会影响原来的变量。所以,当我们想要通过自定义函数来修改一个变量的值时,要传递地址给这个函数(到目前我的学习进度中,只有这一种方法可以修改传递变量(参数)的值)Q:那么传参的时候为什么要传递地址,而不是传递变量名呢?我们可以用这个函数来交换两个变量的值,可以用于冒泡排序。

2024-10-21 15:18:00 212

原创 【初学记录】——算法——排序——冒泡排序

则冒泡排序的具体过程可以描述为:首先从数组的第一个元素开始到数组最后一个元素为止,对数组中相邻的两个元素进行比较,如果位于数组左端的元素大于数组右端的元素,则交换这两个元素在数组中的位置。这样操作后数组最右端的元素即为该数组中所有元素的最大值。接着对该数组除最右端的n-1个元素进行同样的操作,再接着对剩下的n-2个元素做同样的操作,直到整个数组有序排列。如果需要对乱序的n个元素的数组进行排序,最坏的情况是,最小的数字在最后一个位置,那么就需要将它移动n-1次,才能将它挪到第一位。这个放到自定义函数里讲。

2024-10-21 15:11:08 144

空空如也

空空如也

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

TA关注的人

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