自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 斜率优化dp

斜率优化dp,根据凸包函数的性质求解截距最小值

2024-11-15 10:07:42 277

原创 背包问题(四)

分组背包问题,背包问题求方案数,根据01背包求实际问题

2024-11-14 13:34:04 260

原创 背包问题(三)

二维费用的背包、有依赖的背包问题

2024-11-10 01:03:23 405

原创 背包问题(二)

多重背包的二进制优化、单调队列优化,混合背包问题

2024-11-07 23:48:21 467

原创 状态压缩DP

状态压缩dp

2024-11-05 14:06:20 338

原创 状态机模型

状态机模型

2024-10-31 00:26:17 433

原创 背包问题(一)

算法基础课、提高课背包问题

2024-10-29 00:51:10 414

原创 最长子序列模型二(二分优化版)

最长上升子序列二

2024-10-27 00:08:30 347

原创 最长上升子序列问题一(朴素版)

最长上升子序列问题一

2024-10-25 21:12:32 318

原创 普通数组&&矩阵

力扣热题100,普通数组

2024-10-24 20:51:36 342

原创 数字三角形模型

数字三角形

2024-10-24 17:40:11 382

原创 滑动窗口&&子串

力扣热题100

2024-10-23 20:02:36 389

原创 权限和补充指令

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

2024-10-20 11:26:48 328

原创 vim编辑器的使用

我们最好不要在root权限下去进行vim配置,因为vim下已经有了.vimrc的配置文件,用自己私人账号去配置,这样可以让每一个用户能够配置自己的vim。ctrl + v 然后从光标位置 按 数字+shift + g,然后再按 I // ,就是从光标位置的代码一直注释到该数字那一行的代码。在底行模式下我们还可以查找指定字符,输入字符然后按回车,再按n就可以上下移动(在指定的字符上下行号移动)我们先创建一个test.c的文件,然后vim编辑test.c,就直接进入了命令模式,也就是默认模式。

2024-09-11 23:01:43 570 1

原创 Linux指令(一)

cp指令用于复制文件和目录,如同时指定两个或两个以上的目录,而且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件和目录都复制到指定的目录下。mv指令是move的缩写,可以用来移动文件或者将文件改名,是linux系统下常用的命令,经常用来备份文件和目录。touch命令的选项可带文档目录的日期时间,包括存取时间和更改时间,或者创建一个不存在的文件。linux系统中,磁盘的文件和目录组成一颗目录树,每个节点都是目录或者文件。绝对路径指的是明确的唯一的路径,比如:/home/user/bin。

2024-09-10 20:44:50 1066 1

原创 类的内存对齐&&位段&&位图&&布隆过滤器&&哈希切割&&一致性哈希

类的内存对齐&&位段&&位图&&布隆过滤器&&哈希切割&&一致性哈希

2024-05-26 19:28:05 1033 21

原创 哈希&&双指针

力扣热题100:哈希+双指针

2024-05-26 01:02:25 484 16

原创 unordered_map、unordered_set底层封装

unordered_map、unordered_set底层封装。

2024-05-14 16:51:46 924 23

原创 哈希表(unordered_set、unordered_map)

unordered_set、unordered_map的底层是哈希表,哈希表是一种关联式容器(与前面的二叉搜索树、AVL树、红黑树一样,数据与数据之间有很强的关联性)

2024-05-11 23:19:31 669 17

原创 map、set底层封装模拟实现(红黑树)

相较于前面的AVL树,红黑树的优势是:旋转次数减少,效率提高了,同时还保留了AVL树的查找优势

2024-05-07 09:56:03 447 24

原创 N皇后问题(DFS解决)

N皇后

2024-04-14 19:19:26 560 24

原创 C++实现AVL树

经过了解二叉搜索树的性质之后,我们也发现了它极大的缺陷,如果数字基本上都是趋于有序的情况下,那么查找效率非常低下,时间复杂度为O(n),与顺序表的查找一样,因此我们引出了二叉平衡搜索树(AVL树),该树的优势在于能够保证根节点左右子树的高度差的绝对值小于等于1,这就很好保证了查找效率O(logn),如下图就是二叉平衡搜索树的样子。

2024-04-14 18:58:48 1217 8

原创 续二叉搜索树递归玩法

续二叉搜索树递归玩法。

2024-04-04 15:28:19 655 28

原创 C++实现二叉搜索树的增删查改(非递归玩法)

二叉搜索树(Binary Search Tree)又称二叉排序树(Binary Sort Tree),是一种特殊类型的二叉树,它所有的根节点大于左子树的节点,小于右子树的节点,对二叉搜索树进行中序遍历,即可得到有序的数列。二叉搜索树的时间复杂度由树的高度决定,其搜索、插入和删除的时间复杂度均为 O(log n),其中 n 是节点数。在最坏的情况下,仍然会有 O(n)的时间复杂度。二叉搜索树的时间复杂度由树的高度决定,其。查找非常简单按照流程找就行了。

2024-04-04 00:08:02 1413 23

原创 面向对象:多态

通俗来讲多态就是完成某一种行为,不同的对象会完成会产生不同的状态。比如买票,针对不同的人群有不同的购票机制,对于儿童来说怎么样,对于大学生来说怎么样,这就是不同人群产生的不同状态机制通过前面的虚拟继承我们得知在继承的父类前面加一个virtual就行了,那么虚函数也是如此,在普通函数前面加一个virtual就行了。

2024-03-30 23:42:05 770 25

原创 面向对象:继承

虚拟继承就是在类前面加一个virtual。

2024-03-29 12:25:14 1087 27

原创 双指针算法:三数之和

5.取nums[i]的相反数sum,判断sum和a[left]+a[right]的大小关系,如果sum大于a[left]+a[right],那么left++,小于的话就right–,同时要满足left

2024-03-23 23:02:24 527 13

原创 排序算法:归并排序(非递归)

细节图解:

2024-03-21 22:43:13 721 26

原创 排序算法:归并排序(递归)

【代码】排序算法:归并排序(递归)

2024-03-21 13:35:14 1013 19

原创 排序算法:快速排序(非递归)

【代码】排序算法:快速排序(非递归)

2024-03-17 23:50:32 631 14

原创 string的模拟实现

【代码】string的模拟实现。

2024-03-17 18:36:11 1194 21

原创 矩阵中移动的最大次数

【代码】矩阵中移动的最大次数。

2024-03-17 09:50:52 636 8

原创 STL库中的string

erase、insert和replace都需要挪动数据,效率比较低下,能不用最好不用,而且还需要扩容。pos代表的是插入的位置(字符数组的下标),str表示插入的字符串。capacity扩容时是根据字符串有效字符的个数进行扩容的,空间比较小的时候不需要动态内存的开辟,相当于_ptr浪费掉了。空间大的时候需要动态内存的开辟,相当于_buf浪费掉了。返回的都是字符串的长度,平常时我们一般都用size。这里的append有多种类型的接口,但是一般。这里的成员函数size表示的是字符串的大小。

2024-03-15 23:38:26 1020 24

原创 排序算法:快速排序(递归)

2.然后cur先向前走,如果大于key,那么继续向前走,prev,不向前走,如果小于key,那么prev和cur同时向前走(,定义right从数组下标为n-1的位置,从右向左找小于key的数,从最右边的数开始,如果。1.这里我们先把中间值定位数组中的首元素的值,设为key变量,2.定义left为从数组0下标开始找大于key的数,如果。1.首先定义一个前指针prev,和一个后指针cur。(也就是谁走到相等的位置,而那个人是停止的)引言:这里所说的快速排序有三种,第一种是。自创的,还有一种叫做。

2024-03-11 21:44:51 1428 9

原创 排序算法:希尔排序

希尔排序是一种先进行预排序(以达到接近于有序的状态),然后最后进行整体排序。

2024-03-10 23:56:18 672 5

原创 C++类和对象

/ 类体:由成员函数和成员变量组成 };// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。

2024-03-10 19:21:40 1153 9

原创 内联函数|auto关键字|范围for的语法|指针空值

使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得return 10;auto b = a;//auto e;无法通过编译,使用auto定义变量时必须对其进行初始化return 0;【注意】

2024-03-08 23:06:16 1174 10

原创 C++入门知识点

打开反汇编,里面有VS识别不同的Add函数,不同的Add函数里面调用的内容不一样,编译器通过这个进行识别不同的类型(call是函数调用的意思)如下图,Add函数里面的a和b都叫缺省参数,里面的参数都被赋值,这个叫全缺省,并且主函数中调用Add函数可以不用传参数。在不同的命名空间域中,里面的函数名,变量名都可以一样,因为他们限定在不同的空间作用域互不影响,所以不会产生冲突。函数重载也就是函数可以相同,但是参数的个数,参数的类型必须不同,不然就是同名函数这点与C语言判断方式不一样。

2024-03-08 00:49:16 1168 4

原创 排序算法:插入排序

也就是把数字从前,或者从最后开始比较然后插入到这个数的前面或者后面,从[0,end]区间插入。

2024-03-04 23:42:26 530 1

原创 二叉树的深度,求第k层的节点个数,二叉树的销毁,二叉树寻找值为x的节点

熟悉了前面的递归,销毁递归基本上是小菜一碟,从最下面的节点开始销毁。

2024-03-04 14:04:50 527 4

空空如也

空空如也

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

TA关注的人

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