diff --git a/README.md b/README.md index 77a4131..0bdb84d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -

408Logo图片 @@ -109,24 +108,23 @@ ## 大纲目录(善用Ctrl+F) - **注意:没有链接的,可以在仓库找找,只是选择性进行博客和公众号发表** +**注意:没有链接的,可以在仓库找找,只是选择性进行博客和公众号发表** ### 数据结构 -> 参考资料: -> -> 1. 《数据结构》 . -> 2. 《大话数据结构》. -> 3. 《数据结构与算法景点问题解析》 第二版 Narasimha Karumanchi著. -> 4. 《计算机网络-王道考研》 2019 王道论坛著. +> 参考资料 +> - 《数据结构》 . +> - 《大话数据结构》. +> - 《数据结构与算法景点问题解析》 第二版 Narasimha Karumanchi著. +> - 《计算机网络-王道考研》 2019 王道论坛著. -#### [基础入门](./manuscripts/数据结构/基础入门/readme.md) +#### 基础入门 - [基础概念](https://mp.weixin.qq.com/s/M8MOCVnbVxQ3GRuxRaEKIg) - [数据结构三要素](https://mp.weixin.qq.com/s/7sCoHDFtI-Qp0wBcvMH6kQ) - [算法与算法评价](https://mp.weixin.qq.com/s/58fBAwoyg2Ali-HqOJ6t9g) -#### [线性表](./manuscripts/数据结构/线性表/readme.md) +#### 线性表 - [基础概念和基本操作](https://mp.weixin.qq.com/s/3e5LX9HbnjfT980zV3veXA) - [线性表的顺序表示](https://mp.weixin.qq.com/s/gaXmF3tqZxxFXhhDyPZv-A) @@ -139,118 +137,110 @@ - [零碎知识补充](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485549&idx=2&sn=5282cd006b6c33e4bfe992298602e053&chksm=fcdfb1e1cba838f743a335bad530cf415eef57a417b807257d8ed6983047c2d57d5552b34cb0&token=1697862929&lang=zh_CN#rd) -#### [栈和队列](Readme.md) +#### 栈 -- [栈的基本概念和基本操作](1.栈的基本概念和基本操作.md) -- [栈的顺序存储结构](2.栈的顺序存储结构.md) -- [栈的链式存储结构](3.栈链式存储结构.md) -- [队列的基本概念和基础操作](4.队列的基本概念和基础操作.md) -- [队列的顺序存储](5.队列的顺序存储结构.md) -- [队列的链式存储](6.队列的链式存储结构.md) -- [栈和队列的应用](栈和队列的应用.md) -- [特殊矩阵的压缩存储](8.特殊矩阵的压缩存储.md) +- 基本概念和操作 +- 顺序存储结构 +- 链式存储结构 +#### 队列 + +- 基本概念和操作 +- 顺序存储结构 +- 链式存储结构 + +#### 串 + +- 基本概念 +- 简单的模式匹配 +- KMP算法 #### 树与二叉树 -- 树 - - 定义 - - 术语 - - 性质 +- 基本概念 - 二叉树 - - 定义和特性 - - 存储结构 - - 二叉树遍历 - - 线索二叉树 +- 二叉树遍历 +- 线索二叉树 - 树和森林 - - 存储结构 - - 树、森林与二叉树转换 - - 遍历 - - 并查集应用 - 树的应用 - - 二叉排序树 - - 平衡二叉树 - - 哈夫曼树 - - 哈夫曼编码 + #### 图论 +- 基本概念 +- 图的存储 +- 图的遍历 +- 图的应用 + + #### 查找 +- 基本概念 +- 顺序查找 +- 折半查找 +- B树和B+树 +- 散列表 + #### 排序 -- 排序的基础概念 -- 直接排序 -- 交换排序之冒泡排序 -- 交换排序之快速排序 +- 基本概念 +- 插入排序 +- 交换排序 +- 选择排序 - 归并排序 - 基数排序 -- 内部排序算法的比较和应用 -- 外部排序的基本概念 -- 外部排序方法整理 - - - - -### 计算机网络 - -> 参考资料: -> -> 1. 《计算机网络》 第七版 谢希仁著. -> 2. 《计算机网络-王道考研》 2019 王道论坛. - - - -- [第一章:绪论]() -- [第二章:物理层]() -- [第三章:数据链路层]() -- [第四章:网络层]() -- [第五章:运输层]() -- [第六章:应用层]() -- [第七章:网络安全]() -- [第八章:互联网上的音频/视频服务]() -- [第九章:无线网络和移动网络]() - +- 外部排序 ### 计算机操作系统 -> 参考资料: -> -> 1. 《计算机操作系统》 第四版 汤小丹、梁红兵、汤子瀛著 -> 2. 《操作系统-王道考研》 2019 王道论坛 +> 参考资料 +> - 《计算机操作系统》 第四版 汤小丹、梁红兵、汤子瀛著 +> - 《操作系统-王道考研》 2019 王道论坛 -#### 概述 +#### 系统概述 + +- 引论 +- 发展和分类 +- 运行环境 +- 体系结构 #### 进程管理 + +- 进程和线程 +- 处理机调度 +- 进程同步 +- 死锁 + + #### 内存管理 +- 引论 +- 虚拟内存 +- 一些总结 + #### 文件管理 +- 基本概念 +- 文件系统 +- 磁盘管理 +- 一些总结 -#### I/O管理 -- 第一章:操作系统引论 -- 第二章:进程的描述与控制 -- 第三章:处理机调度与死锁 -- 第四章:存储器管理 -- 第五章:虚拟存储器 -- 第六章:虚拟存储器 -- 第七章:文件管理 -- 第八章:磁盘存储器的管理 -- 第九章:操作系统接口 -- 第十章:多处理机操作系统 -- 第十一章:多媒体操作系统 -- 第十二章:保护与安全 +#### 输入、输出管理 +- 基本概述 +- 核心子系统 +- 高速缓存和缓冲区 +- 一些总结 ### 计算机组成原理 -> 参考资料: -> 1. 《计算机组成原理》 第二版 唐朔飞 -> 2. 《计算机组成原理-王道考研》 2019 王道论坛 +> 参考资料 +> - 《计算机组成原理》 第二版 唐朔飞 +> - 《计算机组成原理-王道考研》 2019 王道论坛 #### 概述 @@ -270,6 +260,61 @@ #### 输入输出系统 +### 计算机网络 + +> 参考资料 +> - 《计算机网络-第七版》 谢希仁著. +> - 《计算机网络-王道考研》 2019 王道论坛. + + +#### 体系机构 + +- 基本介绍 +- 体系结构与参考模型 + + +#### 物理层 + +- 通信基础 +- 传输介质 +- 物理层设备 + +#### 数据链路层 + +- 基本功能 +- 组帧 +- 差错控制 +- 流量控制&可靠传输 +- 介质访问控制 +- 局域网 +- 广域网 +- 通信设备 + +#### 网络层 + +- 基本功能 +- 路由算法 +- 路由协议 +- IPV4 +- IPV6 +- IP组播&移动IP +- 网络层设备 + +#### 传输层 + +- 提供的服务 +- UDP协议 +- TCP协议 + + +#### 应用层 + +- 应用模型 +- DNS +- FTP协议 +- 电子邮件 +- HTTP协议 + diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index b3ce989..c6cd461 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -35,6 +35,9 @@ export default defineUserConfig({ })();` ] ], + // 配置永久链接,参考:https://v2.vuepress.vuejs.org/zh/reference/frontmatter.html#permalink + // permalink: "/:year/:month/:day/:slug", + // permalinkPattern: `:slug.html`, markdown: { // todo 引入代码文件时的路径替换 importCode: { diff --git a/docs/.vuepress/config/navbar.ts b/docs/.vuepress/config/navbar.ts index 913b9c6..cb7fff4 100644 --- a/docs/.vuepress/config/navbar.ts +++ b/docs/.vuepress/config/navbar.ts @@ -6,10 +6,11 @@ export const navbar = [ text: '首页', link: '/' }, - { - text: "数据结构", - link: "/manuscripts/ds" - }, + // { + // text: "数据结构", + // link: "/manuscripts/ds" + // }, + "/manuscripts/ds", { text: "操作系统", link: "/manuscripts/os" diff --git a/docs/.vuepress/config/plugins.config.ts b/docs/.vuepress/config/plugins.config.ts index a0393f8..16295af 100644 --- a/docs/.vuepress/config/plugins.config.ts +++ b/docs/.vuepress/config/plugins.config.ts @@ -14,21 +14,21 @@ export default { // HelloWorld: path.resolve(__dirname, '../components/HelloWorld.vue') // } }), - searchProPlugin({ - // 索引全部内容 - indexContent: true, - // 为分类和标签添加索引 - customFields: [ - { - getter: (page: any) => page.frontmatter.category, - formatter: "分类:$content", - }, - { - getter: (page) => page.frontmatter.tag, - formatter: "标签:$content", - }, - ], - }), + // searchProPlugin({ + // // 索引全部内容 + // indexContent: true, + // // 为分类和标签添加索引 + // customFields: [ + // { + // getter: (page: any) => page.frontmatter.category, + // formatter: "分类:$content", + // }, + // { + // getter: (page) => page.frontmatter.tag, + // formatter: "标签:$content", + // }, + // ], + // }), // // md文档增强 // mdEnhancePlugin({ // // 文件导入 diff --git a/docs/manuscripts/cn/readme.md b/docs/manuscripts/cn/readme.md index 11b1fe7..7c9d6e0 100644 --- a/docs/manuscripts/cn/readme.md +++ b/docs/manuscripts/cn/readme.md @@ -1,10 +1,65 @@ # 计算机网络 +```mindmap +root(计算机网络) + 体系机构 + 物理层 + 数据链路层 + 网络层 + 传输层 + 应用层 +``` -### 体系结构 -### 物理层 -### 数据链路层 -### 网络层 -### 传输层 -### 应用层 \ No newline at end of file +## 体系机构 + +- 基本介绍 +- 体系结构与参考模型 + + +## 物理层 + +- 通信基础 +- 传输介质 +- 物理层设备 + +## 数据链路层 + +- 基本功能 +- 组帧 +- 差错控制 +- 流量控制&可靠传输 +- 介质访问控制 +- 局域网 +- 广域网 +- 通信设备 + +## 网络层 + +- 基本功能 +- 路由算法 +- 路由协议 +- IPV4 +- IPV6 +- IP组播&移动IP +- 网络层设备 + +## 传输层 + +- 提供的服务 +- UDP协议 +- TCP协议 + + +## 应用层 + +- 应用模型 +- DNS +- FTP协议 +- 电子邮件 +- HTTP协议 + +## 参考资料 + +-《计算机网络-第七版》谢希仁著. +-《计算机网络-王道考研》2019 王道论坛. \ No newline at end of file diff --git a/docs/manuscripts/ds/ds.sidebar.ts b/docs/manuscripts/ds/ds.sidebar.ts index 5c73412..2f137da 100644 --- a/docs/manuscripts/ds/ds.sidebar.ts +++ b/docs/manuscripts/ds/ds.sidebar.ts @@ -42,36 +42,43 @@ export const dsSidebar = [ ] }, { - text: '栈和队列', + text: '栈', prefix: '栈和队列', collapsible: false, children: [ { - text: '栈-基本概念和操作', + text: '基本概念和操作', link: '1.栈的基本概念和基本操作.md' }, { - text: '栈-顺序存储结构', + text: '顺序存储结构', link: '2.栈的顺序存储结构.md' }, { - text: '栈-链式存储结构', + text: '链式存储结构', link: '3.栈的链式存储结构.md' - }, + } + ] + }, + { + text: '队列', + prefix: '栈和队列', + collapsible: false, + children: [ { - text: '队列-基本概念和操作', + text: '基本概念和操作', link: '4.队列的基本概念和操作.md' }, { - text: '队列-顺序存储结构', + text: '顺序存储结构', link: '5.队列的顺序存储结构.md' }, { - text: '队列-链式存储结构', + text: '链式存储结构', link: '6.队列的链式存储结构.md' }, { - text: '一些总结', - link: '7.总结.md' + text: '栈VS队列补充', + link: '7.栈VS队列补充.md' } ] }, diff --git a/docs/manuscripts/ds/readme.md b/docs/manuscripts/ds/readme.md index 6406d1b..859aeb1 100644 --- a/docs/manuscripts/ds/readme.md +++ b/docs/manuscripts/ds/readme.md @@ -1,5 +1,19 @@ # 数据结构 +```mindmap +root(数据结构) + 基础入门 + 线性表 + 栈和队列 + 队列 + 串 + 树与二叉树 + 图论 + 查找 + 排序 +``` + + ## 基础入门 - [x] 基本概念 @@ -14,7 +28,7 @@ - [x] 链式表示 - [x] 一些总结 -## 栈和队列 +## 栈 - [x] 基本概念和操作 - [x] 顺序存储结构 @@ -29,12 +43,55 @@ - [x] 一些总结 +## 串 + +- 基本概念 +- 简单的模式匹配 +- KMP算法 + +## 树与二叉树 + +- 基本概念 +- 二叉树 +- 二叉树遍历 +- 线索二叉树 +- 树和森林 +- 树的应用 -## 参考资料: +## 图论 -- 《数据结构》. 严蔚敏著 -- 《数据结构-王道考研》. 2019 王道论坛 +- 基本概念 +- 图的存储 +- 图的遍历 +- 图的应用 + + +## 查找 + +- 基本概念 +- 顺序查找 +- 折半查找 +- B树和B+树 +- 散列表 + +## 排序 + +- 基本概念 +- 插入排序 +- 交换排序 +- 选择排序 +- 归并排序 +- 基数排序 +- 外部排序 + + + + +## 参考资料 + +- 《数据结构》严蔚敏著. +- 《数据结构-王道考研》2019 王道论坛. diff --git a/docs/manuscripts/ds/栈和队列/1.栈的基本概念和基本操作.md b/docs/manuscripts/ds/栈和队列/1.栈的基本概念和基本操作.md index 820c30c..ccf9a3f 100644 --- a/docs/manuscripts/ds/栈和队列/1.栈的基本概念和基本操作.md +++ b/docs/manuscripts/ds/栈和队列/1.栈的基本概念和基本操作.md @@ -1,5 +1,10 @@ +--- +permalink: /test +--- # 基本概念和基本操作 +## 基本概念 + `栈`: 只允许在一端进行插入或者删除操作的**线性表**,`后进先出的线性表`。 @@ -36,7 +41,7 @@ 可以得出结论:栈是后进先出(先进后出),即:LIFO(Last In First Out),也可以叫**后进先出的线性表** -## 栈的基本操作 +## 基本操作 - `InitStack(&S)`: 初始化一个空栈`S`,栈顶指针初始化为-1 diff --git a/docs/manuscripts/ds/栈和队列/2.栈的顺序存储结构.md b/docs/manuscripts/ds/栈和队列/2.栈的顺序存储结构.md index d399d64..0535312 100644 --- a/docs/manuscripts/ds/栈和队列/2.栈的顺序存储结构.md +++ b/docs/manuscripts/ds/栈和队列/2.栈的顺序存储结构.md @@ -7,7 +7,7 @@ > 指针指向栈顶(top)主要是因为栈在线性表的一端操作,操作的那端就是栈顶,方便操作。 -### 顺序栈的存储类型 +## 顺序栈的存储类型 ```cpp // 定义栈中元素的最大个数 @@ -42,7 +42,7 @@ typedef struct{ -### 顺序栈的基本运算 +## 顺序栈的基本运算 - `InitStack(&S)`: 初始化一个空栈`S`,栈顶指针初始化为-1 @@ -53,7 +53,7 @@ typedef struct{ - `ClearStack(&S)`: 销毁栈,释放栈`S`占用的存储空间。 -#### 初始化 +### 初始化 `InitStack(&S)`: 初始化一个空栈`S`,栈顶指针初始化为-1 @@ -68,7 +68,7 @@ void InitStack(&S){ ``` -#### 栈空判断 +### 栈空判断 `StackEmpty(S)`: 判断一个栈是否为空,即:栈顶指针是否为-1,如果栈空则返回`true`,否则返回`false` @@ -87,7 +87,7 @@ bool StackEmpty(S){ ``` -#### 进栈 +### 进栈 `Push(&S,x)`: 进栈,若栈未满,`x`进栈操作,插入到栈内成为`新的栈顶元素`。 @@ -113,7 +113,7 @@ bool Push(SqStack &S,ElemType x){ - 进栈先移动栈顶指针+1,再操作入栈元素 - `++i`是简写,先对变量i进行递加操作,再进行使用,即:先加后用 -#### 出栈 +### 出栈 `Pop(&S,&x)`: 出栈,若栈非空,出栈操作,**弹出栈顶元素**,用指针`x`进行返回。 @@ -141,7 +141,7 @@ bool Pop(SqStack &S,ElemType &x){ -#### 读(获取)栈顶元素 +### 读(获取)栈顶元素 `GetTop(S,&x)`: 读栈顶元素,若栈`S`非空,用x返回栈顶元素。 @@ -178,7 +178,7 @@ bool GetTop(SqStack S,ElemType &x){ -### 共享栈 +## 共享栈 `共享栈`:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个`一维存储空间`,将两个栈的栈底分别设置在共享空间的两端,两个栈顶则向共享空间的中间延伸 @@ -196,7 +196,7 @@ bool GetTop(SqStack S,ElemType &x){ 当且仅当两个栈的栈顶指针相邻(`top1-top0=1`),可以判断共享栈栈满 -#### 进栈 +### 进栈 > 进栈:先移动指针,后进行赋值 @@ -205,7 +205,7 @@ bool GetTop(SqStack S,ElemType &x){ - 当0号栈进栈时,0号栈栈顶指针top0`先加1后赋值` - 当1号栈进栈时,0号栈栈顶指针top1`先减1后赋值` -#### 出栈 +### 出栈 > 出栈:先进行赋值,后移动指针 diff --git a/docs/manuscripts/ds/栈和队列/3.栈的链式存储结构.md b/docs/manuscripts/ds/栈和队列/3.栈的链式存储结构.md index 8604f11..c4bed53 100644 --- a/docs/manuscripts/ds/栈和队列/3.栈的链式存储结构.md +++ b/docs/manuscripts/ds/栈和队列/3.栈的链式存储结构.md @@ -1,4 +1,3 @@ - # 栈的链式存储结构 `链栈`: 采用链式存储的栈 @@ -43,14 +42,14 @@ typedef struct LinkStack ``` -### 优点 +优点: - 便于多个栈共享存储空间 - 不存在栈满上溢的情况,避免程序因溢出导致出错 - 有效的提高存取效率 -### 进栈 +## 进栈 - 如果链栈不存在,则栈满,入栈操作失败,返回false; - 如果链栈存在,进行单链表的结点插入操作,移动指针,结点元素赋值,再将结点压入链栈中,移动链栈栈顶指针,最后链栈元素总数+1,返回true @@ -88,7 +87,7 @@ bool linkStackPushNode(LinkStack* linkStack,int e){ } ``` -### 出栈 +## 出栈 - 如果链栈不存在,或者为空栈,则无法进行出栈操作,返回false - 如果链栈满足出栈条件,则通过栈顶指针获取到链栈栈底结点,将其数据域赋值给变量e,移动栈顶指针指向待出栈元素的后继结点,同时释放待出栈元素的内存空间,链栈元素总数-1 ,出栈成功,返回true. diff --git a/docs/manuscripts/ds/栈和队列/4.队列的基本概念和操作.md b/docs/manuscripts/ds/栈和队列/4.队列的基本概念和操作.md index 72c953c..61f9b6c 100644 --- a/docs/manuscripts/ds/栈和队列/4.队列的基本概念和操作.md +++ b/docs/manuscripts/ds/栈和队列/4.队列的基本概念和操作.md @@ -1,7 +1,7 @@ # 队列的基本概念和操作 -### 基本概念 +## 基本概念 `队列`:和栈一样,是一种操作受限制的线性表,只允许在表的一端进行插入,在表的另外一端进行删除,简称为`队`,常记作:`Queue` @@ -29,7 +29,7 @@ -### 基础操作 +## 基础操作 > 和栈一样,队列是操作受限的线性表,具有`先进先出`的特性,不是任何对线性表的操作都可以作为队列的操作。例如:无法随便读取到队列中间的某个数据,需要将前面的元素先出队 diff --git a/docs/manuscripts/ds/栈和队列/5.队列的顺序存储结构.md b/docs/manuscripts/ds/栈和队列/5.队列的顺序存储结构.md index 10f31fe..abcdae7 100644 --- a/docs/manuscripts/ds/栈和队列/5.队列的顺序存储结构.md +++ b/docs/manuscripts/ds/栈和队列/5.队列的顺序存储结构.md @@ -75,7 +75,7 @@ typedef struct { -### 循环队列 +## 循环队列 在上面的顺序队列中,当队满后进行出队列,由于顺序队列出队只在队首进行操作,并且只会修改队首指针,这时候就会出现队尾指针一直`Q.rear===MaxSize`情况,就如下: @@ -124,10 +124,10 @@ typedef struct { -#### 如何区别队空还是队满 +### 如何区别队空还是队满 > 为了很好的区别循环队列的`队空`还是`队满`的情况,一般有三种处理方式. -##### 牺牲一个单元来区分队空和队满 +#### 牺牲一个单元来区分队空和队满 这种方式**要求在入队时少用一个队列单元**,是一种比较普遍的做法。约定: @@ -138,7 +138,7 @@ typedef struct { - 队列中元素个数:`(Q.rear+MaxSize-Q.front)%MaxSize` -##### 类型中增设表示元素个数的数据成员 +#### 类型中增设表示元素个数的数据成员 这种就很直接了,直接和MaxSize去比较,就可以有: @@ -148,7 +148,7 @@ typedef struct { 值的注意的是:在这个前提下,不论是`队空`还是`队满`,对会存在`Q.front=Q.rear`,这个可以通过前面方案解决。 -##### 类型中增设tag数据成员标记 +#### 类型中增设tag数据成员标记 通过添加tag标记的方式,区分`队空`还是`队满` @@ -194,13 +194,13 @@ int DeLoopQueue(SqQueue &Q, ElemType &x){ } ``` -##### +#### -### 代码实现 +## 代码实现 -#### 初始化空队列 +### 初始化空队列 ```cpp @@ -217,7 +217,7 @@ void InitLoopQueque(&Q){ } ``` -#### 队列是否为空 +### 队列是否为空 ```cpp /* @@ -242,7 +242,7 @@ bool isEmpatyLoopQueue(Q){ ``` -#### 入队操作 +### 入队操作 ```cpp /* @@ -273,7 +273,7 @@ bool EnLoopQueue(SqQueue &Q, ElemType x){ ``` -#### 出队操作 +### 出队操作 ```cpp @@ -309,8 +309,7 @@ bool DeLoopQueue(SqQueue &Q, ElemType &x){ ``` -#### 获取队头元素 - +### 获取队头元素 ```cpp /* * @Description: 获取循环队列队头元素 diff --git a/docs/manuscripts/ds/栈和队列/6.队列的链式存储结构.md b/docs/manuscripts/ds/栈和队列/6.队列的链式存储结构.md index 05ca7cb..660cb22 100644 --- a/docs/manuscripts/ds/栈和队列/6.队列的链式存储结构.md +++ b/docs/manuscripts/ds/栈和队列/6.队列的链式存储结构.md @@ -59,11 +59,11 @@ typedef struct{ - 不存在队满情况,也不会出现溢出情况; - 链式队列不会出现存储分配不合理、“溢出”的情况,内存动态分配 -### 基本操作 +## 基本操作 > Tips: 基于带头结点链式队列的基础操作 -#### 队列初始化 +### 队列初始化 ```cpp @@ -89,7 +89,7 @@ voide InitLinkQueue(LinkQueue &Q){ > 链式队列,本质是基于单链表的队列,那带头结点的链式队列,其实强调的也就是单链表要带头结点。队列的队首指针和队尾指针确定指向单表的队首和队尾就ok;初始化的时候,带头结点的单链表实质就只有一个头结点。而此时的链式队列,需要将队首指针和队尾指针指向单链表的头结点就行,好像到这里就完了。但是这样却忽视了单链表,只是注重的队列的front和rear指针。单链表的结点元素是分数据域和指针域的,即便是头结点的数据域可以不存什么(当然也常会存一些链表信息什么的),此处的`Q.front->next=NULL`就是用来处理链表的头结点的指针域的,让其指向下一个单链表元素为空,这里是非常需要处理的,非常细节! -#### 判断队空 +### 判断队空 ```cpp @@ -112,7 +112,7 @@ bool IsEmptyLinkQueue(LinkQueue Q){ } ``` -#### 入队 +### 入队 ```cpp @@ -143,7 +143,7 @@ void EnLinkQueue(LinkQueue &Q, ElemType x){ ``` -#### 出队 +### 出队 ```cpp @@ -193,7 +193,7 @@ bool DeLinkQueue(LinkQueue &Q, ElemType &x){ -### 双端队列 +## 双端队列 `双端队列`: 允许在两端都可以进行入队和出队操作的队列,元素的逻辑结构仍然是线性结构 @@ -216,7 +216,7 @@ bool DeLinkQueue(LinkQueue &Q, ElemType &x){ -### 队列的补充 +## 知识补充 - 最适合用来链队的链表是:`带队首指针和队尾指针的非循环单链表` diff --git a/docs/manuscripts/ds/栈和队列/7.总结.md b/docs/manuscripts/ds/栈和队列/7.栈VS队列补充.md similarity index 99% rename from docs/manuscripts/ds/栈和队列/7.总结.md rename to docs/manuscripts/ds/栈和队列/7.栈VS队列补充.md index b9b98b6..eac06bd 100644 --- a/docs/manuscripts/ds/栈和队列/7.总结.md +++ b/docs/manuscripts/ds/栈和队列/7.栈VS队列补充.md @@ -1,11 +1,11 @@ -# 栈和队列总结 +# 栈VS队列补充 > Tips: 这里不会做过多文字介绍相关应用,具体需要自己看书、查资料揣摩 ```mindmap -root(栈和队列总结) +root(栈VS队列补充) 栈的应用 队列的应用 数组的定义 diff --git a/docs/manuscripts/os/readme.md b/docs/manuscripts/os/readme.md index 18af380..80109d6 100644 --- a/docs/manuscripts/os/readme.md +++ b/docs/manuscripts/os/readme.md @@ -1,20 +1,16 @@ # 操作系统 - - ```mindmap 操作系统 系统概述 - 进程管理 - 进程管理 - 文件管理 - - I/O管理 + 输入、输出管理 ``` + + ## 系统概述 - 引论 @@ -24,16 +20,37 @@ ## 进程管理 -- 进程基本概念和特征 -- 进程的运行 + +- 进程和线程 +- 处理机调度 +- 进程同步 +- 死锁 + ## 内存管理 +- 引论 +- 虚拟内存 +- 一些总结 + ## 文件管理 -## I/O管理 +- 基本概念 +- 文件系统 +- 磁盘管理 +- 一些总结 -## 参考资料: -- 《计算机操作系统-第四版》. 汤小丹、梁红兵、汤子瀛著 -- 《操作系统-王道考研》. 2019 王道论坛 +## 输入、输出管理 + +- 基本概述 +- 核心子系统 +- 高速缓存和缓冲区 +- 一些总结 + + + +## 参考资料 + +- 《计算机操作系统》 第四版 汤小丹、梁红兵、汤子瀛著 +- 《操作系统-王道考研》 2019 王道论坛