今天学习的人
是未来之星
是国家「栋」梁
是自然界的丛林之王
是俗语里的下凡仙子
是粤语里的巴鸠撚闭
是成语里面的学富五车
是武侠小说里的人中龙
是都市小说里的城市之光
是吾日三省吾身的自律者
是相亲节目里面的心动嘉宾
是世间所有丑与恶的唾弃者
是世间所有美与好的创造者
Chapter-1 Algorithm
- 前述
刷题经验C++调试模版常见报错 - 数据结构 🧾例题清单
- 概述
基本概念算法评价 - 线性表
顺序存储(数组)环状数组链式存储(链表)哨兵多画舍得变量双指针环状链表Medium - 栈
顺序、链式存储单调栈表达式求值递归移除问题Medium - 队列
顺序、链式、双端单调队列层遍历Medium - 字符串「未完工」
顺序、堆分配、块链存储KMP算法 - 树 & 二叉树
树的种类二叉树遍历(前序、中序、后序、层)二叉树构造「未完工」线索二叉树Easy- 排序树 & 平衡树 & 搜索树「未完工」
AVL树红黑树查找、插入、删除 O(logn) - B树 & B+树「未完工」
- 并查集
连通连通分量连通性判断添加、连通、查找O(logn)Medium - 树状数组 & 线段树
维护区间信息单点更新O(logn)区间查询O(logn)Hard+ - 字典树
前缀树字符串/字符前缀是否存在dfsHard - 哈夫曼树「未完工」
- 排序树 & 平衡树 & 搜索树「未完工」
- 散列表
哈希表本质-数组核心-散列函数哈希冲突扩容查找 - 堆
优先队列大/小根堆TopK多路归并中位数插入O(logn)查找O(1)删除O(logn)Hard - 设计数据结构
哈希集合/表队列<->栈LRULFU
- 概述
- 算法基础 🧾例题清单
- 排序
选择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 Course
- MIT 6.S081: Operating Systems Engineering
syscallpage tabletrappage faultinterruptlockThread switchingsleep&wakeupfile systeminodelogMonolithic/Micro kernelVirtual MachineHLL kernelNetworkingMeltdownRCU
- MIT 6.824: Distributed System「未完工」
- NJU 操作系统: 设计与实现「未完工」
- CMU 15-445: Database Systems「未完工」
Chapter-3 Skill
- ASM
- RISC-V
riscv asm manual简介通用寄存器和指令扩展寄存器和指令五级流水线硬件模块译码模块ALU模块(执行计算)branch模块(条件跳转)load/store(访存)CSR读写控制
- RISC-V
- C「未完工」
- C语言内存
虚拟内存内存对齐内存分页MMU内存模型内核模式用户模式栈堆动态内存分配内存池野指针内存泄漏
- C语言内存
- C++
- Golang
- Python
strlistsettupledictdefaultdictdequebisectheapqSortedList__lt__CPython架构python为什么慢 - 开发软件
工具网站vscodegitvimgdbgcctmux - 常用 CLI
dockerk8sceph - Markdown
- LaTeX
- Mermaid
流程图时序图甘特图类图状态图饼图用户体验旅程图
Chapter-4 Knowledge
- IC
designfabricationpackageEDAFPGAVerilog - 计算机组成
- 序
大纲程序是如何在计算机里跑起来的 - 计算机系统概述
软硬件分类及发展冯•诺依曼结构工作过程性能指标 - 数据的表示和运算
数制定点数浮点数算术逻辑单元 - 存储系统
分类性能指标层次化结构SRAM(cache)DRAM(内存)ROM(闪存、固态)MM组成和使用Cache虚拟存储器 - 指令系统
指令(操作码+地址码)指令寻址数据寻址指令集CISCRISC - 中央处理器
CPU(运算器+控制器)指令执行数据通路硬布线控制器微程序控制器指令流水线 - 总线
片内、系统、通信总线性能指标总线仲裁传输和定时总线标准 - 输入输出系统
外部设备IO接口IO方式(查询、中断、DMA)
- 序
- 操作系统
- 计算机系统概述
目的(管理、调度软硬资源、提供接口)特征(并发、共享、虚拟、异步)分类运行环境(内核态、用户态)中断系统调用 - 进程管理
进程(程序段、数据段、进程控制块)目的(并发、共享)进程通信线程(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控制面)
- 计算机网络体系结构
- 数据 & 存储
- 设计数据密集型应用「未完工」
- 数据库「未完工」
关系型数据库NoSQL - 消息队列「未完工」
- 容器技术
- docker 原理
Namespace(进程、网络、存储)CGgroupsUnionFS - kubernetes 原理
介绍设计架构(master、worker)重要概念(对象、Spec、Status) - kubernetes 对象详解
podservicevolumereplicaSetgarbage collectordeploymentstatefulSetdaemonSetjob&cronJob - kubernetes 定制特性
扩展接口容器接口(网络插件、存储插件、运行时接口)设备插件调度框架 - kubernetes 问题 & 局限性
集群管理(水平扩展性、多集群管理)应用场景(应用分发、批处理调度、硬多租户) - kubernetes 集群联邦 & 资源分发
kubefedkarmada - kubernetes 贡献指南
SIGKEP期望(项目设计、分布式协作、影响力)操作指南(阅读源码、静态检查、项目管理)
- docker 原理
Chapter-5 Math
Manuscript written in 2016, opened again in 2022
Generate SUMMARY.md for gitbook:
$ book sm
学习只能依靠自己的积累,其他所有的材料都只是参考。此仓库,也仅作为自己学习时的笔记。
如果涉及到任何版权行为,请联系我,我将删除内容。
Publish https://dowalle.gitbook.io/algo/
Reference oi-wiki | leetcode | codeforces | bilibili | luogu | c-biancheng | geeksforgeeks | draveness | 宫水三叶 | CS自学指南
License CC-BY-SA-4.0 License
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Thanks Your Star