diff --git a/README.md b/README.md index 77a4131..0bdb84d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -
@@ -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 王道论坛