今天学习的人
是未来之星
是国家「栋」梁
是自然界的丛林之王
是俗语里的下凡仙子
是粤语里的巴鸠撚闭
是成语里面的学富五车
是武侠小说里的人中龙
是都市小说里的城市之光
是吾日三省吾身的自律者
是相亲节目里面的心动嘉宾
是世间所有丑与恶的唾弃者
是世间所有美与好的创造者
第一章 算法
- 前述
刷题经验
C++调试模版
- 数据结构
- 链表
哨兵
多画
舍得变量
双指针
Medium
- 二叉树
前序
中序
后序
层
树的恢复
dfs
bfs
Easy
- 栈 & 单调栈
括号问题
单调栈
Medium
- 堆
优先队列
大/小根堆
TopK
多路归并
中位数
插入O(logn)
查找O(1)
删除O(logn)
Hard
- 哈希表
本质为数组
核心为哈希函数
不存哈希值
- 并查集
连通
连通分量
连通性判断
添加、连通、查找O(logn)
Medium
- 平衡树 & 搜索树「未完工」
AVL树
红黑树
查找、插入、删除 O(logn)
- 字典树
前缀树
字符串/字符前缀是否存在
dfs
Hard
- 树状数组 & 线段树
维护区间信息
单点更新O(logn)
区间查询O(logn)
Hard+
- 单调队列
取最小值->单增队列
取最大值->单减队列
- 环状数组
i = (i + 1) % n
尾首拼接
环状链表
- 链表
- 算法基础
- 排序
选择O(n^2)
冒泡O(n^2)
插入O(n^2)
计数O(n)
桶O(n)
快速O(nlogn)「未完工」
归并O(nlogn)「未完工」
Hard
- 二分法
玄学算法
不可套模版
二段性
寻找一个数
lower_bound
upper_bound
O(logn)
三分
Hard+
- 双指针
快慢双指针
左右双指针
前后双指针
指向各自集合的双指针
Floyd判圈算法
时O(n)
空O(1)
Medium
- 滑动窗口
单调性
窗口数据结构
右边届入窗
左边届收缩
延时删除
采集答案
步长
起始位置
Medium
- 前缀和
相减
哈希表
二维前缀和
前缀和**
- 差分
两端操作
操作区间从O(k)降至O(1)
二维差分
- 贪心「未完工」
难想通
排序预处理
区间调度问题
跳跃问题
环形贪心
Hard
- 位运算
异或
奇偶
除2
求中值
平均数
交换值
加法
1个数
- 分治「未完工」
- 排序
- 动态规划「未完工」
- 图论「未完工」
- 数学「未完工」
倍增
快速幂
求余
第二章 技能
- C++
- Golang
- Python
str
list
set
tuple
dict
defaultdict
deque
bisect
heapq
SortedList
__lt__
- Markdown
- LaTeX
- Linux
- filesystem
overlayfs
shared-subrees
- filesystem
- Software
- 软件 & 工具
开发
创作
效率
文献
- VS Code「未完工」
快捷键
代码格式化
配置文件
- Git「未完工」
- Vim
快捷键
配置文件
- Ceph & RBD
ceph
rbd
- kubernetes「未完工」
- 软件 & 工具
第三章 八股文
这里给出一些学习基础知识的建议
学习科学知识时会陷入一个误区,即只注重对定理、公式的应用,而忽视对基础概念的理解
这是从小到大为应付考试而培养出的一个毛病,因为熟练应用公式和定理对考试有立竿见影的效果
但基础概念的理解能透彻的、系统性的理解一门学科,更利于产生「兴趣」,培养「创造性」思维
- 计算机组成
- 序
大纲
程序是如何在计算机里跑起来的
- 计算机系统概述
软硬件分类及发展
冯•诺依曼结构
工作过程
性能指标
- 数据的表示和运算
数制
定点数
浮点数
算术逻辑单元
- 存储系统
分类
性能指标
层次化结构
SRAM(cache)
DRAM(内存)
ROM(闪存、固态)
MM组成和使用
Cache
虚拟存储器
- 指令系统
指令(操作码+地址码)
指令寻址
数据寻址
指令集
CISC
RISC
- **处理器
CPU(运算器+控制器)
指令执行
数据通路
硬布线控制器
微程序控制器
指令流水线
- 总线
片内、系统、通信总线
性能指标
总线仲裁
传输和定时
总线标准
- 输入输出系统
外部设备
IO接口
IO方式(查询、中断、DMA)
- 序
- 操作系统「未完工」
- 计算机系统概述
目的(管理、调度软硬资源、提供接口)
特征(并发、共享、虚拟、异步)
分类
运行环境(内核态、用户态)
中断
系统调用
- 进程管理
进程(程序段、数据段、进程控制块)
目的(并发、共享)
进程通信
线程(ID、计数器、寄存器集合)
目的(减少开销)
实现方式(用户级、内核级)
处理机调度
进程同步
互斥
死锁
饥饿
- 进程 & 线程 & 协程
时间角度
资源角度
- 内存管理
目的(并发)
覆盖与交换
连续分配
非连续分配(分页存储)
分段存储
虚拟内存
局部性原理(时间、空间)
- 计算机系统概述
- 计算机网络「未完工」
- 数据 & 存储
- 设计数据密集型应用「未完工」
- 数据库
关系型数据库
NoSQL
- 消息队列
- 面向对象「未完工」
多态和多态性
设计模式
第四章 面试
第五章 竞赛
得到一点点「感悟」比得到答案更重要
Generate SUMMARY.md for gitbook:
book sm
「学习」唯有靠自己的积累和总结,其他所有的资料和题解都只是参考,包括此仓库也仅用作自己的积累
感谢
大家不用 Star
发布
于 Gitbook
侵删
本仓库全部为自己总结,部分来源于 oi-wiki | leetcode | luogu | runoob | c-biancheng | geeksforgeeks