C++刷题笔记
查找:
1.顺序查找
2.二分查找
3.哈希查找
算法:
1.摩尔投票法
2.KMP算法
字符串:
1.增删查改
2.串比较
链表:
1.增删查改
2.指针操作
树:
1.遍历(前、中、后、层次|递归非递归)
2.路径、深度
3.平衡二叉树AVL
排序
1.选择排序
2.插入排序
3.归并排序
4.快速排序
5.堆排序
6.希尔排序
7.冒泡排序
8.记数排序
9.基数排序
10.桶排序
字典树
istringstream/ostringstream
回溯法
动态规划
堆
找规律/分析问题
区间和可以转换成求差的问题,求差问题,也可以转换成区间和的问题
看到排序数组要想到二分查找
两个相同的数异或为0,对一组所有元素都出现两次的数据异或也为0
位运算
静态变量和静态函数
二进制字符串转十进制有可能溢出,可以在二进制串上直接进行操作
判断是否构成回文串可以根据奇偶性
两个字符串之间的动态规划基本定义为dp[ i ][ j ]
最优子结构
n = n & (n - 1):作用:将二进制数的最右边的1变为0,可求出二进制数n中1的个数