![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法笔记
文章平均质量分 68
等我吃完这口
在校硕士生
展开
-
算法笔记系列:4.5 二分 4.6 two pointers
算法笔记系列:4.5 二分 4.6 two pointers4.5.1 二分查找4.5.2 二分法拓展4.5.3 快速幂4.6.1 什么是two pointers4.6.2 归并排序4.6.3 快速排序4.7.1 打表4.7.2 活用递推【PAT A1093】4.7.3 随机选择算法4.5.1 二分查找基于有序序列的查找算法,时间复杂度为O(logn)高效之处在于每一步都可以去除当前区间中的一半元素# include<cstdio>int binary_search(int a[]原创 2021-07-04 18:14:53 · 153 阅读 · 0 评论 -
算法笔记系列:4.3 递归 4.4 贪心
这里写目录标题4.3.1 分治4.3.2 递归4.4.1 简单贪心【PAT B1020】【PAT B1023】4.3.1 分治将原问题划分为若干个规模较小而结构与原问题相同或相似的子问题,然后分别解决这些子问题,最后合并子问题的解,即可得到为原问题的解4.3.2 递归递归逻辑中两个重要的概念:递归边界,递归式Fibonacci数列的第n项# include<cstdio>int F(int n){ if (n==0||n==1) return 1; else r原创 2021-07-03 23:16:53 · 144 阅读 · 0 评论 -
算法笔记系列:4.1 排序 4.2 散列
算法笔记系列:4.1 排序 4.2 散列4.1.1 选择排序4.1.2 插入排序4.1.3 排序题与sort函数的应用【PAT A1025】PAT Ranking4.2.1 散列的定义与整数散列4.2.2 字符串hash初步4.1.1 选择排序简单选择排序原理:每次都找出区间中最小的元素,并与区间第一个元素进行交换,不断缩小区间最终完成排序,时间复杂度O(n^2)4.1.2 插入排序直接插入排序原理:将后面的每一个元素依次插入前面的有序部分,最终整个序列有序4.1.3 排序题与sort函数的应用原创 2021-06-29 23:18:36 · 199 阅读 · 1 评论 -
算法笔记系列:3 入门篇(1)入门模拟
算法笔记系列:3 入门篇(1)入门模拟3.1 简单模拟【PAT B1001】害死人不偿命的(3n+1)猜想【PAT B1032】 挖掘机技术哪家强3.2 查找元素【code up 1934】找x3.3 图形输出【PAT B1036】跟奥巴马一起编程3.4 日期处理【codeup 1928】日期差值3.5 进制转换【PAT B1022】D进制的A+B3.6 字符串处理【codeup 5901】回文串【PAT B1009】说反话3.1 简单模拟【PAT B1001】害死人不偿命的(3n+1)猜想# inc原创 2021-06-27 00:07:51 · 259 阅读 · 0 评论 -
算法笔记系列:2.9 补充 2.10 黑盒测试
算法笔记系列:2.9 补充 2.10 黑盒测试2.9.1 cin与cout2.9.2 浮点数的比较2.9.3 复杂度2.10.1 单点测试2.10.2 多点测试2.9.1 cin与coutC++ 中对应scanf和printf的比较方便的输入输出具体使用方法,以输入多个变量和输出多个变量为例:cin >> n >> db >> c >> str;//按对应顺序输入cout << n << db << c原创 2021-06-20 00:30:41 · 124 阅读 · 0 评论 -
算法笔记系列:2.7 指针 2.8 结构体的使用
算法笔记系列:2.7 指针 2.8 结构体的使用2.7.1 什么是指针2.7.2 指针变量2.7.3 指针与数组2.7.4 使用指针变量作为函数参数2.7.5 引用2.8.1 结构体的定义2.8.2 访问结构体内的元素2.8.3 结构体的初始化2.7.1 什么是指针指针用来表示内存地址,当一个指针指向一个变量,即指指针表示了该变量占用字节中第一个字节的地址通过取地址运算符& 获取变量地址指针是一个unsigned类型的整数2.7.2 指针变量指针变量用于存放指针原创 2021-06-19 22:32:02 · 104 阅读 · 0 评论 -
算法笔记系列:2.6 函数
算法笔记系列:2.6 函数2.6.1 函数的定义2.6.2 再谈main函数2.6.3 以数组作为函数参数2.6.4 函数的嵌套调用2.6.5 函数的递归调用2.6.1 函数的定义基本语法格式返回类型 函数名称(参数类型 参数){ 函数主体}返回类型可以为空,即写void全局变量:指定义之后所以程序段内都有效的变量(即定义在所有函数前面)局部变量:定义在函数内部函数定义时小括号内部的参数称为形参实际调用时小括号内部的参数叫做实参2.6.2 再谈main函原创 2021-06-19 19:23:05 · 86 阅读 · 0 评论 -
算法笔记系列:2.5 数组
算法笔记系列:2.5 数组2.5.1 一维数组2.5.2 冒泡排序2.5.3 二维数组2.5.4 memset——对数组中每一个元素赋相同的值2.5.5 字符数组2.5.6 string.h头文件2.5.7 sscanf与sprintf2.5.1 一维数组定义格式:数据类型 数组名[数组大小];例如 int a[10] 定义10个int型数据,分别为a[0]到a[9]2.5.2 冒泡排序冒泡排序的本质在于交换,通过与邻近元素交换,步长为1进行,每一次遍历都可以把最大的元素或者最小的元素原创 2021-06-19 18:28:33 · 133 阅读 · 0 评论 -
算法笔记系列:2.3 选择结构 2.4 循环结构
算法笔记系列:2.3 选择结构 2.4 循环结构2.3.1 if语句2.3.2 if语句的嵌套2.3.3 switch语句2.4.1 while语句2.4.2 do...while语句2.4.3 for语句2.4.4 break和continue语句2.3.1 if语句略2.3.2 if语句的嵌套略2.3.3 switch语句switch在分支条件较多时显得比较精炼,格式如下:switch(表达式){ case 常量表达式1: ... break;原创 2021-06-14 19:44:55 · 230 阅读 · 1 评论 -
算法笔记系列:2.2 顺序结构
算法笔记系列:2.2 顺序结构2.2.1 赋值表达式2.2.2 使用scanf 和 printf 输入/输出2.2.3 使用getchar 和putchar输入/输出字符2.2.4 注释2.2.5 typedef2.2.6 常用math函数2.2.1 赋值表达式赋值运算符可以通过将其他运算符放在前面来实现赋值操作的简化,例如 n+=2 即 n=n+22.2.2 使用scanf 和 printf 输入/输出scanf函数的使用格式:scanf(“格式控制”,变量地址)较为特殊的格式符有:原创 2021-06-14 19:06:55 · 114 阅读 · 0 评论 -
算法笔记系列:2.1基本数据类型
算法笔记系列:2.1基本数据类型2.1.1 变量的定义2.1.2 变量类型2.1.3 强制类型转换2.1.4 符号常量和const常量2.1.5 运算符2.1.1 变量的定义定义格式: 变量类型 变量名条件: 不能是C语言标识符;变量第一个字母必须是字母或下划线;区分大小写2.1.2 变量类型整型整型 int 占用 32bit (32位),即 4 Byte 字节,范围在 −231∼231−1-2^{31} \thicksim 2^{31}-1−231∼231−1 大概范围在绝对值10原创 2021-06-14 17:17:03 · 173 阅读 · 2 评论