## *Contents*🏳️ 求生欲
此仓库,仅作为个人学习时的「笔记」;
所有的写作和整理工作,于「家中」并「空闲时间」独自完成,未曾产生收益,也不谋求收益;
其中的内容,与个人「从前」「现在」以及「未来」所从事的工作「无关」;如果涉及到任何版权等法律行为,请联系我,我将删除内容。
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_boundupper_boundO(logn)三分Hard+ - 专题 二分答案
- 双指针
快慢双指针左右双指针前后双指针指向各自集合的双指针Floyd判圈算法时O(n)空O(1)Medium - 滑动窗口
单调性窗口数据结构右边届入窗左边届收缩延时删除采集答案步长起始位置Medium - 前缀和
相减哈希表二维前缀和前缀和思想 - 差分
两端操作操作区间从O(k)降至O(1)二维差分 - 贪心
排序预处理区间调度问题跳跃问题环形贪心堆单调栈Hard - 位运算
>>i逐位考察异或奇偶除2乘22的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) == 0n<15 - 数位 DP「hold on」
- 股票问题
状态机DP
- 基础
- 图论 🧾例题清单
- 数学 🧾例题清单
- 系列题目 🧾例题清单
Chapter-2 Skill
ctrl + c & ctrl + v 的一章
- ASM
- C
- C++
- Golang
- Python
strlistsettupledictdefaultdictdequebisectheapqSortedList__lt__CPython架构python为什么慢 - Linux「挖坑」
- File system
overlayfsshared-subtrees快照和备份
- File system
- Android「挖坑」
- 工具链
工具网站vscodegitvimgdbgcctmuxmake - 常用 CLI
dockerk8sceph - Markdown
- LaTeX
- Mermaid
流程图时序图甘特图类图状态图饼图用户体验旅程图
Chapter-3 Knowledge
下述大多来源教科书,
都是些夸夸其谈、老旧的、假的知识。
- IC
designfabricationpackageEDAFPGAVerilog - 计算机组成
- 序
大纲程序是如何在计算机里跑起来的 - 计算机系统概述
软硬件分类及发展冯•诺依曼结构工作过程性能指标 - 数据的表示和运算
数制定点数浮点数算术逻辑单元 - 存储系统
分类性能指标层次化结构SRAM(cache)DRAM(内存)ROM(闪存、固态)MM组成和使用Cache虚拟存储器 - 指令系统
指令(操作码+地址码)指令寻址数据寻址指令集CISCRISC - 中央处理器
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层)功能(异构互联、分组转发、拥塞控制)路由算法IPv4IP数据报IP地址子网IPv6路由协议IP组播移动IP路由器 - 传输层
功能(进程间通信)端口socket(嵌套字)UDP(无连接)TCP(连接)报文段TCP建立连接(三次挥手)TCP释放连接(四次握手)可靠传输流量控制拥塞控制 - 应用层
网络应用模型(C/S、P2P)DNSFTP电子邮件(SMTP、POP3/IMAP)万维网(HTTP)Cookie - 5G 网络架构
场景网络架构接口协议栈核心网接入网组网层二(mac数据面)层三(mac控制面) - socket
- 计算机网络体系结构
- 容器技术
- docker 原理
Namespace(进程、网络、存储)CGgroupsUnionFS - kubernetes 原理
介绍设计架构(master、worker)重要概念(对象、Spec、Status) - kubernetes 对象详解
podservicevolumereplicaSetgarbage collectordeploymentstatefulSetdaemonSetjob&cronJob - kubernetes 定制特性
扩展接口容器接口(网络插件、存储插件、运行时接口)设备插件调度框架 - kubernetes 问题 & 局限性
集群管理(水平扩展性、多集群管理)应用场景(应用分发、批处理调度、硬多租户) - kubernetes 集群联邦 & 资源分发
kubefedkarmada - kubernetes 贡献指南
SIGKEP期望(项目设计、分布式协作、影响力)操作指南(阅读源码、静态检查、项目管理)
- docker 原理
- 数据 & 存储「未完工」
- 设计数据密集型应用「未完工」
- 数据库「未完工」
关系型数据库NoSQL - 消息队列「未完工」
- 分布式存储「未完工」
ceph
Chapter-4 Math
为什么要去学牛顿-莱布尼茨 时代的微积分?因为在 2016 年,身体里的编程力量没有觉醒。
其实是为了考研,令人欣慰的是考了满分
Generate SUMMARY.md for gitbook:
$ book smnaming 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