- 博客(4)
- 收藏
- 关注
原创 c++中STL入门学习
//1 定义/*<>放入数据类型*///2 常用接口//开头迭代器nums.end();//结尾迭代器//数组大小//末尾压入元素//重新分配大小//删除末尾元素//判断是否为空//清空//末尾压入元素//返回第一个元素//返回最后一个元素//1 定义//双端队列/*<>填入数据类型*///2 常用接口//入队Q.push(0);//入队Q.pop();//出队Q.empty();//判断队空Q.back();
2025-02-25 15:43:39
666
原创 分治法 -----归并排序、逆序对、最大子数组和
2 如果 nums[p1] <= nums[p2],因为nums[p2]后面的值都大于等于nums[p2],所以nums[p1]不会和nums[p2]及后面元素形成逆序对,所以p1++;归并排序难以理解的地方在于第2步,使用自身排序,但如果从递归的角度分析,当子序列规模为1时递归开始”回升“,此时规模为1的序列必然是有序的,将规模为1的子序列两两合并为规模为2的有序序列,接下来长度为2的子序列两两合并为长度为4的有序序列。
2024-07-23 11:44:52
1410
原创 反转链表-----头插法/尾插法/递归
链表是一种数据结构,它包括物理结构和逻辑结构;在物理结构上它表现为非连续、非顺序的性质,然而在逻辑上链表是一种顺序结构。它解决顺序表(简单理解为C语言数组)调整大小带来的数据复制问题,可以实现在O(1)的时间范围内实现插入和删除,但也失去了顺序表的随机访问特性。其结构包括一个数据域和指针域,数据区域用于保存数据,指针域用于保存下一个元素的地址,C语言定义如下:int data;//数据域//指针域用图示表现链表为:【数据结构】链表(单链表实现+详解+原码)-优快云博客。
2024-07-20 08:43:23
1032
原创 动态规划入门必看-----斐波那契数列/爬楼梯
在数学上,这一数列以如下递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)计算F(5)时会计算F(4)和F(3),而计算F(4)时,也会计算F(3),F(3)显然被计算了两遍,后续的F(2) F(1) 也被重复计算,因此,我们需要设置一个"记录本",对已经计算过的元素直接返回。假设有n个台阶,此时我们从最底下,要爬到第n个台阶,每次可以选择上一个台阶或者两个台阶,问:总共用多少种不同的方法到达第n个台阶。= -1)//已经计算过。
2024-07-18 23:03:43
1264
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人