🏳️ 求生欲
此仓库,仅作为个人学习时的「笔记」;
所有的写作和整理工作,于「家中」并「空闲时间」独自完成,未曾产生收益,也不谋求收益;
其中的内容,与个人「从前」「现在」以及「未来」所从事的工作「无关」;如果涉及到任何版权等法律行为,请联系我,我将删除内容。
Chapter-1 Problem Solving
主要是一些模版和
套路,方便在 codeforces 和 leetcode 的比赛时快速上分
- 前述
C++调试模版
常见报错
自定义排序合集
- 数据结构 🧾例题清单
- 算法基础 🧾例题清单
- 排序
选择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
- 位运算
>>i逐位考察
异或
奇偶
除2
乘2
2的n次方
求中值
平均数
交换值
加法
1个数
滚动数组
状态压缩
- 分治
分解 -> 解决 -> 合并
- 模拟
- 排序
- 动态规划 🧾例题清单
- 基础
三要素(重复子问题、最优子结构、动态转移方程)
斐波那契数列
凑零钱问题
- 记忆化搜索
具备最优子结构
具备重叠子问题
memo记录子问题
子问题构成
- 线性 DP
以i结尾的方案数
[0,1]范围内的最优解
打家劫舍
路径问题
- 背包 DP
01背包
完全背包
多重背包
混合背包
分组背包
多维背包
树形背包
- 序列 DP
无后效性
最长上升子序列(LIS)
最长公共子序列(LCS)
最大子数组和
LCS和LIS相互转化
- 区间 DP
f(l,r)=max(f(l,k), f(k+1,r))+cost k in [l,r]
遍历方法
初始化(dp[i][i]=1)
返回(dp[0][i])
回文问题
时O(n^2)
- 树形 DP「hold on」
后序遍历
打家劫舍III
- 状态压缩 DP
位运算
state = (1 << num) | state
((state >> num) & 1) == 0
n<15
- 数位 DP「hold on」
- 股票问题
状态机DP
- 基础
- 图论 🧾例题清单
- 数学 🧾例题清单
- 系列题目 🧾例题清单
Chapter-2 Skill
ctrl + c & ctrl + v 的一章
- ASM
- C
- C++
- Golang
- Python
str
list
set
tuple
dict
defaultdict
deque
bisect
heapq
SortedList
__lt__
CPython架构
python为什么慢
- Linux「挖坑」
- File system
overlayfs
shared-subtrees
快照和备份
- File system
- Android「挖坑」
- 工具链
工具
网站
vscode
git
vim
gdb
gcc
tmux
make
- 常用 CLI
docker
k8s
ceph
- Markdown
- LaTeX
- Mermaid
流程图
时序图
甘特图
类图
状态图
饼图
用户体验旅程图
Chapter-3 Knowledge
下述大多来源教科书,
都是些夸夸其谈、老旧的、假的知识。
- IC
design
fabrication
package
EDA
FPGA
Verilog
- 计算机组成
- 序
大纲
程序是如何在计算机里跑起来的
- 计算机系统概述
软硬件分类及发展
冯•诺依曼结构
工作过程
性能指标
- 数据的表示和运算
数制
定点数
浮点数
算术逻辑单元
- 存储系统
分类
性能指标
层次化结构
SRAM(cache)
DRAM(内存)
ROM(闪存、固态)
MM组成和使用
Cache
虚拟存储器
- 指令系统
指令(操作码+地址码)
指令寻址
数据寻址
指令集
CISC
RISC
- 中央处理器
CPU(运算器+控制器)
指令执行
数据通路
硬布线控制器
微程序控制器
指令流水线
- 总线
片内、系统、通信总线
性能指标
总线仲裁
传输和定时
总线标准
- 输入输出系统
外部设备
IO接口
IO方式(查询、中断、DMA)
- 扫盲 cpu gpu tpu npc
- X86 体系结构
- 序
- 操作系统
- 计算机系统概述
目的(管理、调度软硬资源、提供接口)
特征(并发、共享、虚拟、异步)
分类
运行环境(内核态、用户态)
中断
系统调用
- 进程管理
进程(程序段、数据段、进程控制块)
目的(并发、共享)
进程通信
线程(ID、计数器、寄存器集合)
目的(减少开销)
实现方式(用户级、内核级)
处理机调度
进程同步
互斥
死锁
饥饿
- 进程 & 线程 & 协程
时间角度
资源角度
- 内存管理
目的(并发)
覆盖与交换
连续分配
非连续分配(分页存储)
分段存储
虚拟内存
局部性原理(时间、空间)
- 文件管理
文件结构
目录结构
共享
保护
文件系统结构
目录实现
文件实现
磁盘(结构、调度、管理)
- 输入输出管理
IO设备
IO控制方式
IO层次
设备分配、回收
Cache(缓存)
Buffer(缓冲区)
- 虚拟化
- 计算机系统概述
- 计算机网络
- 计算机网络体系结构
组成
功能
分类
性能指标
OSI模型(7层)
TCP/IP模型(4层)
5层协议体系
报文、包、帧等概念
- 物理层
层一
传输比特流
数字信道(基带信号)
模拟信道(宽带信号)
奈奎斯特定理(码元极限传输速率)
香农定理(数据极限传输速率)
编码与调制PSK
电路、报文、分组交换
数据报、虚电路服务
传输介质
中继器
集线器
- 数据链路层
层二(mac层)
数据逻辑上无差错
链路管理
组帧
差错控制
流量控制(滑窗)
介质访问控制(多路复用、随机访问CSMA)
局域网(以太网)
IEEE 802.3/11
网卡(MAC地址)
广域网(交换机+链路)
网桥
以太网交换机
- 网络层
层三(IP层)
功能(异构互联、分组转发、拥塞控制)
路由算法
IPv4
IP数据报
IP地址
子网
IPv6
路由协议
IP组播
移动IP
路由器
- 传输层
功能(进程间通信)
端口
socket(嵌套字)
UDP(无连接)
TCP(连接)
报文段
TCP建立连接(三次挥手)
TCP释放连接(四次握手)
可靠传输
流量控制
拥塞控制
- 应用层
网络应用模型(C/S、P2P)
DNS
FTP
电子邮件(SMTP、POP3/IMAP)
万维网(HTTP)
Cookie
- 5G 网络架构
场景
网络架构
接口
协议栈
核心网
接入网
组网
层二(mac数据面)
层三(mac控制面)
- socket
- 计算机网络体系结构
- 容器技术
- docker 原理
Namespace(进程、网络、存储)
CGgroups
UnionFS
- kubernetes 原理
介绍
设计
架构(master、worker)
重要概念(对象、Spec、Status)
- kubernetes 对象详解
pod
service
volume
replicaSet
garbage collector
deployment
statefulSet
daemonSet
job&cronJob
- kubernetes 定制特性
扩展接口
容器接口(网络插件、存储插件、运行时接口)
设备插件
调度框架
- kubernetes 问题 & 局限性
集群管理(水平扩展性、多集群管理)
应用场景(应用分发、批处理调度、硬多租户)
- kubernetes 集群联邦 & 资源分发
kubefed
karmada
- kubernetes 贡献指南
SIG
KEP
期望(项目设计、分布式协作、影响力)
操作指南(阅读源码、静态检查、项目管理)
- docker 原理
- 数据 & 存储「未完工」
- 设计数据密集型应用「未完工」
- 数据库「未完工」
关系型数据库
NoSQL
- 消息队列「未完工」
- 分布式存储「未完工」
ceph
Chapter-4 Math
为什么要去学牛顿-莱布尼茨 时代的微积分?因为在 2016 年,身体里的编程力量没有觉醒。
其实是为了考研,令人欣慰的是考了满分
Generate SUMMARY.md for gitbook:
$ book sm
naming rule:
25-<技巧>-题目.md
面试题-17-16-<技巧>-题目.md
剑指Offer-09-<技巧>-题目.md
Publish https://doongz.gitbook.io/notes/
Reference oi-wiki | leetcode | codeforces | bilibili | luogu | c-biancheng | geeksforgeeks | draveness | 宫水三叶 | CS自学指南
License CC-BY-SA-4.0 License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Thanks Your Star