必备知识点
数学定理
范围
数列
通项公式
组合数学
约数的求法
短除法
辗转相除法
求最小公倍数或最大公约数
约数个数
数组清空
全局变量数组未初始化,则其默认值全为0.
局部变量数组未初始化,则其默认值随机,需要手动清零。
数组初始化为空最简单。
memset(),慎用
头文件 #include<cstring> or #include<string.h>
函数原型
作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
参数:s代表数组名,c代表要设置的值,n代表内存空间。
注意:第三个参数表示内存空间,而不是元素个数,内存空间=元素个数*每个元素所占空间
一般来说用0或-1初始化,别的值会发生意想不到的错误
如memset(s,1,n),c就是0x01,c是int型,四个字节(0x01010101),转化成十进制就是1643009
认识c++程序
目标
知识点
单词学习
输出语句cout
输入语句
格式
注意
变量
概念
使用变量前必须先声明
命名规则
运算符
算术运算
基本数据类型
目标
知识点
单词学习
数据类型
int和long long
注意
float和double
特点
char
注意
ASCLL码
电脑储存原理
数据类型转换
强制类型转换
保留小数问题
把double或者float转成int,是只取整数部分,不会四舍五入
使用fixed方法,可以进行四舍五入的保留
注意
或者使用万能头文件
#include <bits/stdc++.h>
关系运算符和分支结构
目标
知识点
单词
程序结构
关系运算符
算术运算符
复合运算符
表达关系式
if..else if..else语句
逻辑运算符
目标
知识点
嵌套分支结构
逻辑运算符
分类
逻辑非!
逻辑与&&
逻辑或||
优先级
例题
判断闰年
代码实现
Switch语句
目标
知识点
单词
取地址运算符
简单的引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量
取地址运算符格式
注意
引用三要素
可以改变变量的值
Switch
格式
注意break
数学函数
幂函数
平方根
绝对值
while循环
目标
知识点
单词
概念
while循环执行过程
累加器
复合运算符
while循环案例
求1到n内3的倍数
do while循环案例
区别
斐波拉契数列讲解
思路
for循环
目标
知识点
单词
基本格式
执行过程
流程图
break和continue语句
break
案例
continue
案例
for循环的使用
代码实现
嵌套for循环
打印乘法表,使用n输入
求阶乘
一维数组
补充知识
目标
知识点
单词
概念
定义
初始化
通过下标取值
操作
经典例题
数组求解
文件读写
重要性
重定向
格式
参数
样例
文件流
格式
代码样例
注意事项
数据结构
概念
分类
集合结构
线性结构
树形结构
网状结构
顺序结构
链式结构
单链表
双链表
循环链表
栈
概念
术语
基本操作
使用数组(或链表)来模拟栈进行使用
初始化
进栈
出栈
取栈顶元素
清空
使用STL模板
模板内容
调用函数完成操作
经典例题
括号匹配
思路
队列
概念
常规队列
两种特殊清情况
基本操作
用数组模拟队列
操作过程
常规队列的弊端
溢出
解决办法
循环队列
用数组模拟循环队列
STL模板
常规队列
双端队列
经典例题
猴子选大王
代码
排序算法
定义
分类
桶排序
基本思想:桶是有编号且有序的,让相应的数据元素对号入座。再从1号桶开始倒出,自然数据就是有序的了
优缺点
冒泡排序
基本思想:每次都是两两比较,比较完成之后符合条件则交换,直到把最大(最小)元素排到最后,视为冒出。
是另外一种意义上的插入排序,插入排序左边的有序,而冒泡是右边的有序,所以将插入排序改成右边有序,就变成冒泡了,当然里面还有一些细微的差别,比如插入是拿待排中的一个元素和有序元素逐个去比,而冒泡则是拿最左侧的元素和右边无序元素的每一个去比。
代码
优化
减少重复判断次数
注意--数组越界问题
选择排序
基本操作
稳定性
复杂度
插入排序
基本思翔
从待排序列的第2个元素开始,与前面已排序列的每个元素比较,若大( 或小)则交换两元素,直到待排元素到达正确位置为止。
代码实现
特点
递归二分思想,难度较大
快速排序
基本思想:采用函数的递归,对待排序列分成两部分进行排序
基本过程
代码实现
特点-(不稳定排序)
归并排序
通过分块治理,先将分开的部分变得有序,再来进行合并,称为归并排序。涉及递归,二分思想,用于降低时间复杂度
二路归并: 通过将待排序列分成两部分进行归并排序,称为二路归并。
实现过程
先分再合
合并
移动调整数字进行合并
代码
优势
树结构
概念
定义
特点
二叉树
定义
特点
遍历方式
建立二叉树
建立结构体代表数的结点并且是把空子树也进行输入的情况
输入样例
按先序遍历建立,并且是把空子树也进行输入的情况
输入样例 == > abd..ef..g..c..
主函数
定义遍历函数
每个节点有四个内容
用结构体来模拟,省空间
用数组来模拟
优点
用下标指向左右子树,很简单
遍历方式
缺点,很占用空间
已知中序和其中一个序求未知的遍历序
过程分析
思路
代码
遍历方式
动态规划
概念
对比递归解法
解题思路
经典例题
过程拆解
思路
代码实现
数组降维
代码实现