mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-05-05 18:22:02 +08:00
feat: 工程化依赖升级,优化文档和基础配置 (#148)
This commit is contained in:
4
.github/workflows/CD.yaml
vendored
4
.github/workflows/CD.yaml
vendored
@@ -76,7 +76,7 @@ jobs:
|
||||
release:
|
||||
name: Github版本发布
|
||||
runs-on: ubuntu-latest
|
||||
# # 主库master、next且执行release更新时执行
|
||||
# # 主库main、next且执行release更新时执行
|
||||
if: github.repository == '142vip/408CSFamily' && startsWith(github.event.head_commit.message, 'chore(release):')
|
||||
|
||||
steps:
|
||||
@@ -116,7 +116,7 @@ jobs:
|
||||
# name: "部署到ESC服务器"
|
||||
# needs: install-init
|
||||
# runs-on: ubuntu-latest
|
||||
# ## 主库master、next且执行release更新时执行
|
||||
# ## 主库main、next且执行release更新时执行
|
||||
# if: github.repository == '142vip/408CSFamily' && startsWith(github.event.head_commit.message, 'chore(release):')
|
||||
#
|
||||
# steps:
|
||||
|
||||
@@ -132,7 +132,7 @@ All notable changes to this project will be documented in this file. See [Conven
|
||||
|
||||
### Features
|
||||
|
||||
* **scripts:** 新增sync脚本,同步master分支到不同仓库 ([9a0c018](https://github.com/142vip/408CSFamily/commit/9a0c018ebd8b772ca65763dc6969588d20cdfce4))
|
||||
* **scripts:** 新增sync脚本,同步main分支到不同仓库 ([9a0c018](https://github.com/142vip/408CSFamily/commit/9a0c018ebd8b772ca65763dc6969588d20cdfce4))
|
||||
* **数据结构:** 新增不同语言的查找算法代码 ([ec1dba6](https://github.com/142vip/408CSFamily/commit/ec1dba661f7921a421bde9b77cb9cf8dad82eacc))
|
||||
* 更新忽略文件、链接地址 ([483dcba](https://github.com/142vip/408CSFamily/commit/483dcba3c4cf7dabc12ee8e62472b07a9a0ee73a))
|
||||
* 网站动态文档更新,新增时间轴 ([3b03f4e](https://github.com/142vip/408CSFamily/commit/3b03f4e43cf61bef1984dc870c23c0fe89097ddb))
|
||||
@@ -308,4 +308,4 @@ All notable changes to this project will be documented in this file. See [Conven
|
||||
|
||||
- 修复CI/CD流水线异常 ([edf222f](https://github.com/142vip/408CSFamily/commit/edf222f297dbe57782f46fd6d38dd7c92d59e3fe))
|
||||
|
||||
<!-- #endregion recent-alpha -->
|
||||
<!-- #endregion recent-alpha -->
|
||||
|
||||
@@ -39,5 +39,6 @@ function binaryInsertSort(arr, len) {
|
||||
// 测试用例
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
|
||||
const sortResult = binaryInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
@@ -33,5 +33,6 @@ function BubbleSort(arr, len) {
|
||||
|
||||
const initArr = [1, 5, 8, 3, 2, 9, 16]
|
||||
console.log(`冒泡排序前:${initArr}`)
|
||||
|
||||
const sortedArr = BubbleSort(initArr, 7)
|
||||
console.log(`冒泡排序后:${sortedArr}`)
|
||||
|
||||
@@ -48,5 +48,6 @@ function Partition(arr, low, high) {
|
||||
|
||||
const initArr = [2, 18, 6, 25, 19, 4, 8, 3, 7]
|
||||
console.log(`快速排序处理前:${initArr}`)
|
||||
|
||||
const quickSortResult = QuickSort(initArr, 0, 8)
|
||||
console.log(`快速排序处理后:${quickSortResult}`)
|
||||
|
||||
@@ -50,6 +50,7 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
|
||||
const dealArr = [5, 8, 2, 16, 3, 9, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
|
||||
const sortResult = shellSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
@@ -27,6 +27,6 @@ function straightInsertSort(arr, len) {
|
||||
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
@@ -40,7 +40,7 @@ function binaryInsertSort(arr: number[], len: number): number[] {
|
||||
|
||||
// 测试用例
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
|
||||
console.log('插入排序前:', dealArr)
|
||||
|
||||
const sortResult = binaryInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
@@ -40,7 +40,7 @@ export function BubbleSort(arr: number[]): number[] {
|
||||
/**
|
||||
* 将两个变量数值交换
|
||||
*/
|
||||
export function switchValue(params: SwitchValue) {
|
||||
export function switchValue(params: SwitchValue): SwitchValue {
|
||||
const { a: newB, b: newA } = params
|
||||
return { a: newA, b: newB }
|
||||
}
|
||||
@@ -48,5 +48,6 @@ export function switchValue(params: SwitchValue) {
|
||||
// 用例
|
||||
const initArr = [1, 5, 8, 3, 2, 9, 16]
|
||||
console.log(`冒泡排序前:${initArr}`)
|
||||
|
||||
const sortedArr = BubbleSort(initArr)
|
||||
console.log(`冒泡排序后:${sortedArr}`)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* @param {int} low 数组低位角标 左指针
|
||||
* @param {int} high 数组高位角标 右指针
|
||||
*/
|
||||
export function QuickSort(arr, low, high) {
|
||||
export function QuickSort(arr: number[], low: number, high: number): number[] {
|
||||
// low=high 说明只有一个元素,理解为有序,不做处理
|
||||
// low>high 说明左、右指针已经重合,数组已经遍历完,需要跳出
|
||||
if (low < high) {
|
||||
@@ -26,7 +26,7 @@ export function QuickSort(arr, low, high) {
|
||||
* @param {int} low 数组低位角标 左指针
|
||||
* @param {int} high 数组高位角标 右指针
|
||||
*/
|
||||
export function Partition(arr, low, high) {
|
||||
export function Partition(arr: number[], low: number, high: number): number {
|
||||
// 假设低位指针对应数组角标元素为基准pivot
|
||||
const pivot = arr[low]
|
||||
while (low < high) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* @param {Array} arr 待排序数组
|
||||
* @param {int} len 数组长度,可校验
|
||||
*/
|
||||
export function shellSort(arr: number[], len: number) {
|
||||
export function shellSort(arr: number[], len: number): number[] {
|
||||
// 校对数组长度
|
||||
if (arr.length !== len) {
|
||||
len = arr.length
|
||||
@@ -28,7 +28,7 @@ export function shellSort(arr: number[], len: number) {
|
||||
* @param {int} increment 增量步长
|
||||
* @param {int} groupIndex 分组,第几个分组
|
||||
*/
|
||||
export function specialStraightInsertSort(arr: number[], len: number, increment: number, groupIndex: number) {
|
||||
export function specialStraightInsertSort(arr: number[], len: number, increment: number, groupIndex: number): number[] {
|
||||
if (arr.length !== len) {
|
||||
len = arr.length
|
||||
}
|
||||
@@ -56,6 +56,7 @@ export function specialStraightInsertSort(arr: number[], len: number, increment:
|
||||
|
||||
const dealArr = [5, 8, 2, 16, 3, 9, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
|
||||
const sortResult = shellSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
@@ -64,7 +65,7 @@ console.log('插入排序后:', sortResult)
|
||||
* - 返回已排序号的数组,从小到大
|
||||
* @param {Array} arr
|
||||
*/
|
||||
export function shellSortBetter(arr) {
|
||||
export function shellSortBetter(arr: number[]): number[] {
|
||||
const len = arr.length
|
||||
let increment = Math.floor(len / 2)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* 直接插入排序【JavaScript版本】
|
||||
*/
|
||||
export function straightInsertSort(arr: number[], len: number) {
|
||||
export function straightInsertSort(arr: number[], len: number): number[] {
|
||||
// 重新确定数组长度
|
||||
if (arr.length !== len) {
|
||||
len = arr.length
|
||||
@@ -30,7 +30,7 @@ export function straightInsertSort(arr: number[], len: number) {
|
||||
}
|
||||
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
|
||||
console.log('插入排序前:', dealArr)
|
||||
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
title: 变更记录
|
||||
permalink: /changelog.html
|
||||
levels: 1
|
||||
sidebar: false
|
||||
levels: false
|
||||
---
|
||||
|
||||
# 变更记录
|
||||
@@ -15,6 +14,6 @@ sidebar: false
|
||||
|
||||
::: tip
|
||||
|
||||
对于发布早于 0.0.1-alpha.1 的历史版本,详见[Github 仓库](https://github.com/142vip/408CSFamily/blob/master/CHANGELOG.md) 。
|
||||
对于发布早于 0.0.1-alpha.1 的历史版本,详见[Github 仓库](https://github.com/142vip/408CSFamily/blob/main/CHANGELOG.md) 。
|
||||
|
||||
:::
|
||||
|
||||
@@ -37,11 +37,11 @@ sidebar: false
|
||||
: ...
|
||||
```
|
||||
|
||||
### 2023.9.5
|
||||
### 2023.09.05
|
||||
|
||||
- 支持Netlify平台托管,地址:<https://408-family.netlify.app>
|
||||
|
||||
### 2023.8.20
|
||||
### 2023.08.20
|
||||
|
||||
- 支持Vercel平台托管,地址:<https://408-family.vercel.app>
|
||||
|
||||
@@ -49,33 +49,33 @@ sidebar: false
|
||||
|
||||
- 支持Github平台托管,地址:<https://142vip.github.io/408CSFamily>
|
||||
|
||||
### 2022.7.1
|
||||
### 2022.07.01
|
||||
|
||||
- 对仓库进行工程化改造,支持PNPM管理依赖,锁定依赖版本
|
||||
|
||||
### 2022.6.22
|
||||
### 2022.06.22
|
||||
|
||||
- 大幅新增脚本,支持构建、部署一体化
|
||||
- 支持容器镜像打包
|
||||
- Nginx反向代理
|
||||
|
||||
### 2021.7.1
|
||||
### 2021.07.01
|
||||
|
||||
- 因开源仓库内容存在被抄袭风险,替换原有证书协议:`MIT协议` --> `GNU GENERAL PUBLIC 协议`
|
||||
|
||||
### 2020.6.4
|
||||
### 2020.06.04
|
||||
|
||||
- 广告位,新增字节跳动等公司JD招聘信息
|
||||
|
||||
### 2020.8.15
|
||||
### 2020.08.15
|
||||
|
||||
- 收到第一笔赞助,添加赞助感谢列表
|
||||
|
||||
### 2020.6.22
|
||||
### 2020.06.22
|
||||
|
||||
- 将仓库设置成`Public`,开源代码和文档
|
||||
|
||||
### 2020.4.8
|
||||
### 2020.04.08
|
||||
|
||||
- 武汉疫情解封,疫情期间萌生整理计算机基础知识的想法
|
||||
- 在Github创建项目,取名`408CSFamily`,寓意为:**计算机408考试全家桶,涵盖各学科知识点。**
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
/**
|
||||
* 计算机组成原理
|
||||
*/
|
||||
export const cppSidebar = [
|
||||
{
|
||||
text: '计算机引论',
|
||||
|
||||
@@ -1,171 +1,75 @@
|
||||
/**
|
||||
* 计算机网络
|
||||
*/
|
||||
export const cnSidebar = [
|
||||
{
|
||||
text: '体系结构',
|
||||
prefix: '体系结构',
|
||||
children: [
|
||||
{
|
||||
text: '基本介绍',
|
||||
link: '1.引论.md',
|
||||
},
|
||||
{
|
||||
text: '体系结构与参考模型',
|
||||
link: '2.体系结构与参考模型.md',
|
||||
},
|
||||
{ text: '基本介绍', link: '1.引论.md' },
|
||||
{ text: '体系结构与参考模型', link: '2.体系结构与参考模型.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '物理层',
|
||||
prefix: '物理层',
|
||||
children: [
|
||||
{
|
||||
text: '通信基础',
|
||||
link: '1.通信基础.md',
|
||||
},
|
||||
{
|
||||
text: '传输介质',
|
||||
link: '2.传输介质.md',
|
||||
},
|
||||
{
|
||||
text: '物理层设备',
|
||||
link: '3.物理层设备.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md',
|
||||
},
|
||||
{ text: '通信基础', link: '1.通信基础.md' },
|
||||
{ text: '传输介质', link: '2.传输介质.md' },
|
||||
{ text: '物理层设备', link: '3.物理层设备.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '数据链路层',
|
||||
prefix: '数据链路层',
|
||||
children: [
|
||||
{ text: '基本功能', link: '1.通信基础.md' },
|
||||
{ text: '组帧', link: '2.组帧.md' },
|
||||
{ text: '差错控制', link: '3.差错控制.md' },
|
||||
{ text: '流量控制&可靠传输', link: '4.流量控制&可靠传输.md' },
|
||||
{ text: '介质访问控制', link: '5.介质访问控制.md' },
|
||||
{ text: '局域网', link: '6.局域网.md' },
|
||||
{ text: '广域网', link: '7.广域网.md' },
|
||||
{ text: '通信设备', link: '7.通信设备.md' },
|
||||
{ text: '一些总结', link: '8.总结.md' },
|
||||
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '网络层',
|
||||
prefix: '网络层',
|
||||
children: [
|
||||
{ text: '基本功能', link: '1.基本功能.md' },
|
||||
{ text: '路由算法', link: '2.路由算法.md' },
|
||||
{ text: '路由协议', link: '3.路由协议.md' },
|
||||
{ text: 'IPV4', link: '4.IPV4.md' },
|
||||
{ text: 'IPV6', link: '5.IPV6.md' },
|
||||
{ text: 'IP组播&移动IP', link: '6.IP组播&移动IP.md' },
|
||||
{ text: '网络层设备', link: '7.网络层设备.md' },
|
||||
{ text: '一些总结', link: '8.总结.md' },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '数据链路层',
|
||||
// prefix: '数据链路层',
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本功能',
|
||||
// link: '1.通信基础.md'
|
||||
// },
|
||||
// {
|
||||
// text: '组帧',
|
||||
// link: '2.组帧.md'
|
||||
// },
|
||||
// {
|
||||
// text: '差错控制',
|
||||
// link: '3.差错控制.md'
|
||||
// },
|
||||
// {
|
||||
// text: '流量控制&可靠传输',
|
||||
// link: '4.流量控制&可靠传输.md'
|
||||
// },
|
||||
// {
|
||||
// text: '介质访问控制',
|
||||
// link: '5.介质访问控制.md'
|
||||
// },
|
||||
// {
|
||||
// text: '局域网',
|
||||
// link: '6.局域网.md'
|
||||
// },
|
||||
// {
|
||||
// text: '广域网',
|
||||
// link: '7.广域网.md'
|
||||
// },
|
||||
// {
|
||||
// text: '通信设备',
|
||||
// link: '7.通信设备.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '8.总结.md'
|
||||
// }
|
||||
//
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '网络层',
|
||||
// prefix: '网络层',
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本功能',
|
||||
// link: '1.基本功能.md'
|
||||
// },
|
||||
// {
|
||||
// text: '路由算法',
|
||||
// link: '2.路由算法.md'
|
||||
// },
|
||||
// {
|
||||
// text: '路由协议',
|
||||
// link: '3.路由协议.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'IPV4',
|
||||
// link: '4.IPV4.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'IPV6',
|
||||
// link: '5.IPV6.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'IP组播&移动IP',
|
||||
// link: '6.IP组播&移动IP.md'
|
||||
// },
|
||||
// {
|
||||
// text: '网络层设备',
|
||||
// link: '7.网络层设备.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '8.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
text: '传输层',
|
||||
prefix: '传输层',
|
||||
children: [
|
||||
{
|
||||
text: '提供的服务',
|
||||
link: '1.提供的服务.md',
|
||||
},
|
||||
{
|
||||
text: 'UDP协议',
|
||||
link: '2.UDP协议.md',
|
||||
},
|
||||
{
|
||||
text: 'TCP协议',
|
||||
link: '3.TCP协议.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md',
|
||||
},
|
||||
{ text: '提供的服务', link: '1.提供的服务.md' },
|
||||
{ text: 'UDP协议', link: '2.UDP协议.md' },
|
||||
{ text: 'TCP协议', link: '3.TCP协议.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '应用层',
|
||||
prefix: '应用层',
|
||||
children: [
|
||||
{ text: '应用模型', link: '1.应用模型.md' },
|
||||
{ text: 'DNS', link: '2.DNS.md' },
|
||||
{ text: 'FTP', link: '3.FTP.md' },
|
||||
{ text: '电子邮件', link: '4.电子邮件.md' },
|
||||
{ text: 'HTTP', link: '4.HTTP.md' },
|
||||
{ text: '一些总结', link: '5.总结.md' },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '应用层',
|
||||
// prefix: '应用层',
|
||||
// children: [
|
||||
// {
|
||||
// text: '应用模型',
|
||||
// link: '1.应用模型.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'DNS',
|
||||
// link: '2.DNS.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'FTP',
|
||||
// link: '3.FTP.md'
|
||||
// },
|
||||
// {
|
||||
// text: '电子邮件',
|
||||
// link: '4.电子邮件.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'HTTP',
|
||||
// link: '4.HTTP.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '5.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
]
|
||||
|
||||
@@ -1,21 +1,15 @@
|
||||
/**
|
||||
* 数据结构
|
||||
*/
|
||||
export const dsSidebar = [
|
||||
{
|
||||
text: '基础入门',
|
||||
prefix: '基础入门',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '三要素',
|
||||
link: '2.三要素.md',
|
||||
},
|
||||
{
|
||||
text: '算法和算法评价',
|
||||
link: '3.算法和算法评价.md',
|
||||
},
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '三要素', link: '2.三要素.md' },
|
||||
{ text: '算法和算法评价', link: '3.算法和算法评价.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -23,22 +17,10 @@ export const dsSidebar = [
|
||||
prefix: '线性表',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基础概念和操作',
|
||||
link: '1.基础概念和操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序表示',
|
||||
link: '2.顺序表示.md',
|
||||
},
|
||||
{
|
||||
text: '链式表示',
|
||||
link: '3.链式表示.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md',
|
||||
},
|
||||
{ text: '基础概念和操作', link: '1.基础概念和操作.md' },
|
||||
{ text: '顺序表示', link: '2.顺序表示.md' },
|
||||
{ text: '链式表示', link: '3.链式表示.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -46,18 +28,9 @@ export const dsSidebar = [
|
||||
prefix: '栈和队列',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基本概念和操作',
|
||||
link: '1.栈的基本概念和基本操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序存储结构',
|
||||
link: '2.栈的顺序存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '链式存储结构',
|
||||
link: '3.栈的链式存储结构.md',
|
||||
},
|
||||
{ text: '基本概念和操作', link: '1.栈的基本概念和基本操作.md' },
|
||||
{ text: '顺序存储结构', link: '2.栈的顺序存储结构.md' },
|
||||
{ text: '链式存储结构', link: '3.栈的链式存储结构.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -65,138 +38,60 @@ export const dsSidebar = [
|
||||
prefix: '栈和队列',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基本概念和操作',
|
||||
link: '4.队列的基本概念和操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序存储结构',
|
||||
link: '5.队列的顺序存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '链式存储结构',
|
||||
link: '6.队列的链式存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '栈VS队列补充',
|
||||
link: '7.栈VS队列补充.md',
|
||||
},
|
||||
{ text: '基本概念和操作', link: '4.队列的基本概念和操作.md' },
|
||||
{ text: '顺序存储结构', link: '5.队列的顺序存储结构.md' },
|
||||
{ text: '链式存储结构', link: '6.队列的链式存储结构.md' },
|
||||
{ text: '栈VS队列补充', link: '7.栈VS队列补充.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '串',
|
||||
prefix: '串',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '简单的模式匹配', link: '2.简单的模式匹配.md' },
|
||||
{ text: 'KMP算法', link: '3.KMP算法.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '树和二叉树',
|
||||
prefix: '树和二叉树',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '二叉树', link: '2.二叉树.md' },
|
||||
{ text: '二叉树的遍历', link: '3.二叉树的遍历.md' },
|
||||
{ text: '线索二叉树', link: '4.线索二叉树.md' },
|
||||
{ text: '树和森林', link: '5.树和森林.md' },
|
||||
{ text: '树的应用', link: '6.树的应用.md' },
|
||||
{ text: '一些总结', link: '7.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '图论',
|
||||
prefix: '图论',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '图的存储', link: '2.图的存储.md' },
|
||||
{ text: '图的遍历', link: '3.图的遍历.md' },
|
||||
{ text: '图的应用', link: '4.图的应用.md' },
|
||||
{ text: '一些总结', link: '5.总结.md' },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '串',
|
||||
// prefix: '串',
|
||||
// collapsible: false,
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本概念',
|
||||
// link: '1.基本概念.md'
|
||||
// },
|
||||
// {
|
||||
// text: '简单的模式匹配',
|
||||
// link: '2.简单的模式匹配.md'
|
||||
// },
|
||||
// {
|
||||
// text: 'KMP算法',
|
||||
// link: '3.KMP算法.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '4.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '树和二叉树',
|
||||
// prefix: '树和二叉树',
|
||||
// collapsible: false,
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本概念',
|
||||
// link: '1.基本概念.md'
|
||||
// },
|
||||
// {
|
||||
// text: '二叉树',
|
||||
// link: '2.二叉树.md'
|
||||
// },
|
||||
// {
|
||||
// text: '二叉树的遍历',
|
||||
// link: '3.二叉树的遍历.md'
|
||||
// },
|
||||
// {
|
||||
// text: '线索二叉树',
|
||||
// link: '4.线索二叉树.md'
|
||||
// },
|
||||
// {
|
||||
// text: '树和森林',
|
||||
// link: '5.树和森林.md'
|
||||
// },
|
||||
// {
|
||||
// text: '树的应用',
|
||||
// link: '6.树的应用.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '7.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '图论',
|
||||
// prefix: '图论',
|
||||
// collapsible: false,
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本概念',
|
||||
// link: '1.基本概念.md'
|
||||
// },
|
||||
// {
|
||||
// text: '图的存储',
|
||||
// link: '2.图的存储.md'
|
||||
// },
|
||||
// {
|
||||
// text: '图的遍历',
|
||||
// link: '3.图的遍历.md'
|
||||
// },
|
||||
// {
|
||||
// text: '图的应用',
|
||||
// link: '4.图的应用.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '5.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
text: '查找',
|
||||
prefix: '查找',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '顺序查找',
|
||||
link: '2.顺序查找.md',
|
||||
},
|
||||
{
|
||||
text: '折半查找',
|
||||
link: '3.折半查找.md',
|
||||
},
|
||||
{
|
||||
text: 'B树和B+树',
|
||||
link: '4.B树和B+树.md',
|
||||
},
|
||||
{
|
||||
text: '散列表',
|
||||
link: '5.散列表.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '6.总结.md',
|
||||
},
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '顺序查找', link: '2.顺序查找.md' },
|
||||
{ text: '折半查找', link: '3.折半查找.md' },
|
||||
{ text: 'B树和B+树', link: '4.B树和B+树.md' },
|
||||
{ text: '散列表', link: '5.散列表.md' },
|
||||
{ text: '一些总结', link: '6.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -204,38 +99,14 @@ export const dsSidebar = [
|
||||
prefix: '排序',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '插入排序',
|
||||
link: '2.插入排序.md',
|
||||
},
|
||||
{
|
||||
text: '交换排序',
|
||||
link: '3.交换排序.md',
|
||||
},
|
||||
{
|
||||
text: '选择排序',
|
||||
link: '4.选择排序.md',
|
||||
},
|
||||
{
|
||||
text: '归并排序',
|
||||
link: '5.归并排序.md',
|
||||
},
|
||||
{
|
||||
text: '基数排序',
|
||||
link: '6.基数排序.md',
|
||||
},
|
||||
{
|
||||
text: '外部排序',
|
||||
link: '7.外部排序.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '8.总结.md',
|
||||
},
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '插入排序', link: '2.插入排序.md' },
|
||||
{ text: '交换排序', link: '3.交换排序.md' },
|
||||
{ text: '选择排序', link: '4.选择排序.md' },
|
||||
{ text: '归并排序', link: '5.归并排序.md' },
|
||||
{ text: '基数排序', link: '6.基数排序.md' },
|
||||
{ text: '外部排序', link: '7.外部排序.md' },
|
||||
{ text: '一些总结', link: '8.总结.md' },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -1,21 +1,9 @@
|
||||
/**
|
||||
* 思维导图侧边栏
|
||||
* 思维导图
|
||||
*/
|
||||
export const MarkMapSidebar = [
|
||||
{
|
||||
text: '📙 数据结构',
|
||||
link: 'ds-map.md',
|
||||
},
|
||||
{
|
||||
text: '📕 操作系统',
|
||||
link: 'os-map.md',
|
||||
},
|
||||
{
|
||||
text: '📘 计算机组成原理',
|
||||
link: 'ccp-map.md',
|
||||
},
|
||||
{
|
||||
text: '📗 计算机网络',
|
||||
link: 'cn-map.md',
|
||||
},
|
||||
{ text: '📙 数据结构', link: 'ds-map.md' },
|
||||
{ text: '📕 操作系统', link: 'os-map.md' },
|
||||
{ text: '📘 计算机组成原理', link: 'ccp-map.md' },
|
||||
{ text: '📗 计算机网络', link: 'cn-map.md' },
|
||||
]
|
||||
|
||||
@@ -1,118 +1,61 @@
|
||||
/**
|
||||
* 操作系统
|
||||
*/
|
||||
export const osSidebar = [
|
||||
{
|
||||
text: '系统概述',
|
||||
prefix: '系统概述',
|
||||
collapsible: false,
|
||||
children: [
|
||||
{
|
||||
text: '引论',
|
||||
link: '1.操作系统引论.md',
|
||||
},
|
||||
{
|
||||
text: '发展和分类',
|
||||
link: '2.发展和分类.md',
|
||||
},
|
||||
{
|
||||
text: '运行环境',
|
||||
link: '3.运行环境.md',
|
||||
},
|
||||
{
|
||||
text: '体系结构',
|
||||
link: '4.体系结构.md',
|
||||
},
|
||||
{ text: '引论', link: '1.操作系统引论.md' },
|
||||
{ text: '发展和分类', link: '2.发展和分类.md' },
|
||||
{ text: '运行环境', link: '3.运行环境.md' },
|
||||
{ text: '体系结构', link: '4.体系结构.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '进程管理',
|
||||
prefix: '进程管理',
|
||||
collapsible: true,
|
||||
children: [
|
||||
{ text: '进程和线程', link: '1.进程和线程.md' },
|
||||
{ text: '处理机调度', link: '2.处理机调度.md' },
|
||||
{ text: '进程同步', link: '3.进程同步.md' },
|
||||
{ text: '死锁', link: '4.死锁.md' },
|
||||
{ text: '一些总结', link: '5.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '内存管理',
|
||||
prefix: '内存管理',
|
||||
collapsible: true,
|
||||
children: [
|
||||
{ text: '引论', link: '1.引论.md' },
|
||||
{ text: '虚拟内存', link: '2.虚拟内存.md' },
|
||||
{ text: '一些总结', link: '3.总结.md' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '文件管理',
|
||||
prefix: '文件管理',
|
||||
collapsible: true,
|
||||
children: [
|
||||
{ text: '基本概念', link: '1.基本概念.md' },
|
||||
{ text: '文件系统', link: '2.文件系统.md' },
|
||||
{ text: '磁盘管理', link: '3.磁盘管理.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '输入、输出管理',
|
||||
prefix: '输入、输出管理',
|
||||
collapsible: true,
|
||||
children: [
|
||||
{ text: '基本概述', link: '1.基本概述g.md' },
|
||||
{ text: '核心子系统', link: '2.核心子系统.md' },
|
||||
{ text: '高速缓存和缓冲区', link: '3.高速缓存和缓冲区.md' },
|
||||
{ text: '一些总结', link: '4.总结.md' },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '进程管理',
|
||||
// prefix: '进程管理',
|
||||
// collapsible: true,
|
||||
// children: [
|
||||
// {
|
||||
// text: '进程和线程',
|
||||
// link: '1.进程和线程.md'
|
||||
// },
|
||||
// {
|
||||
// text: '处理机调度',
|
||||
// link: '2.处理机调度.md'
|
||||
// },
|
||||
// {
|
||||
// text: '进程同步',
|
||||
// link: '3.进程同步.md'
|
||||
// },
|
||||
// {
|
||||
// text: '死锁',
|
||||
// link: '4.死锁.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '5.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '内存管理',
|
||||
// prefix: '内存管理',
|
||||
// collapsible: true,
|
||||
// children: [
|
||||
// {
|
||||
// text: '引论',
|
||||
// link: '1.引论.md'
|
||||
// },
|
||||
// {
|
||||
// text: '虚拟内存',
|
||||
// link: '2.虚拟内存.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '3.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '文件管理',
|
||||
// prefix: '文件管理',
|
||||
// collapsible: true,
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本概念',
|
||||
// link: '1.基本概念.md'
|
||||
// },
|
||||
// {
|
||||
// text: '文件系统',
|
||||
// link: '2.文件系统.md'
|
||||
// },
|
||||
// {
|
||||
// text: '磁盘管理',
|
||||
// link: '3.磁盘管理.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '4.总结.md'
|
||||
// }
|
||||
//
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// text: '输入、输出管理',
|
||||
// prefix: '输入、输出管理',
|
||||
// collapsible: true,
|
||||
// children: [
|
||||
// {
|
||||
// text: '基本概述',
|
||||
// link: '1.基本概述g.md'
|
||||
// },
|
||||
// {
|
||||
// text: '核心子系统',
|
||||
// link: '2.核心子系统.md'
|
||||
// },
|
||||
// {
|
||||
// text: '高速缓存和缓冲区',
|
||||
// link: '3.高速缓存和缓冲区.md'
|
||||
// },
|
||||
// {
|
||||
// text: '一些总结',
|
||||
// link: '4.总结.md'
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
]
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
const fs = require('node:fs')
|
||||
|
||||
const { VipNodeJS } = require('@142vip/utils')
|
||||
|
||||
/**
|
||||
@@ -38,9 +37,9 @@ const sideBarData = {
|
||||
],
|
||||
}
|
||||
|
||||
const { prefix, children } = sideBarData;
|
||||
const { prefix, children } = sideBarData
|
||||
|
||||
(async () => {
|
||||
async function quickCreateMdFile() {
|
||||
/**
|
||||
* 第一步: 创建目录
|
||||
*/
|
||||
@@ -63,4 +62,6 @@ const { prefix, children } = sideBarData;
|
||||
await VipNodeJS.writeFileByUTF8(filePath, `# ${text} \n\n努力赶稿中,等等我呀...`)
|
||||
}
|
||||
}
|
||||
})()
|
||||
}
|
||||
|
||||
void quickCreateMdFile()
|
||||
|
||||
@@ -9,7 +9,7 @@ import { osSidebar } from './os/os.sidebar'
|
||||
* 导航栏
|
||||
*/
|
||||
export const navbarConfig = defineVipNavbarConfig([
|
||||
{ text: '🌐 首页', link: '/' },
|
||||
{ text: '🔥 首页', link: '/' },
|
||||
{ text: '📙 数据结构', link: '/ds/' },
|
||||
{ text: '📕 操作系统', link: '/os/' },
|
||||
{ text: '📘 计算机组成原理', link: '/ccp/' },
|
||||
|
||||
@@ -30,14 +30,12 @@
|
||||
"check:commit": "npx node --loader ts-node/esm --no-warnings scripts/core/verify-commit.ts"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@142vip/commit-linter": "0.0.1-alpha.1",
|
||||
"@142vip/commit-linter": "0.0.1-alpha.2",
|
||||
"@142vip/eslint-config": "0.0.1-alpha.4",
|
||||
"@142vip/fairy-cli": "0.0.3-alpha.24",
|
||||
"@142vip/fairy-cli": "0.0.3-alpha.25",
|
||||
"@142vip/utils": "0.0.1-alpha.36",
|
||||
"@142vip/vuepress": "0.0.1-alpha.14",
|
||||
"@vuepress/plugin-watermark": "2.0.0-rc.27",
|
||||
"@142vip/vuepress": "0.0.1-alpha.15",
|
||||
"markmap-cli": "0.18.9",
|
||||
"mermaid": "11.6.0",
|
||||
"only-allow": "1.2.1",
|
||||
"simple-git-hooks": "2.11.1",
|
||||
"ts-node": "10.9.2",
|
||||
|
||||
717
pnpm-lock.yaml
generated
717
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,12 @@
|
||||
import { OPEN_SOURCE_ADDRESS, OPEN_SOURCE_AUTHOR, VipDocker, VipGit, VipNodeJS, VipPackageJSON } from '@142vip/utils'
|
||||
import {
|
||||
OPEN_SOURCE_ADDRESS,
|
||||
OPEN_SOURCE_AUTHOR,
|
||||
VipConsole,
|
||||
VipDocker,
|
||||
VipGit,
|
||||
VipNodeJS,
|
||||
VipPackageJSON,
|
||||
} from '@142vip/utils'
|
||||
|
||||
/**
|
||||
* 功能:构建Docker镜像
|
||||
@@ -35,7 +43,7 @@ async function buildImageMain(): Promise<void> {
|
||||
})
|
||||
}
|
||||
catch (e) {
|
||||
console.log('异常信息:', e)
|
||||
VipConsole.trace('异常信息:', e)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,8 +57,8 @@ export default defineVipVuepressConfig({
|
||||
}),
|
||||
// 版权
|
||||
copyright: getCopyRightText(OPEN_SOURCE_AUTHOR.name),
|
||||
// 仓库
|
||||
repo: '142vip/408CSFamily',
|
||||
// 仓库 142vip/408CSFamily
|
||||
repo: `${OPEN_SOURCE_ADDRESS.GITHUB_ORGANIZATION_NAME}/${pkg.name}`,
|
||||
repoLabel: 'GitHub',
|
||||
|
||||
// 作者信息
|
||||
@@ -79,6 +79,7 @@ export default defineVipVuepressConfig({
|
||||
content: OPEN_SOURCE_AUTHOR.name,
|
||||
},
|
||||
},
|
||||
git: true,
|
||||
},
|
||||
}),
|
||||
shouldPrefetch: false,
|
||||
|
||||
Reference in New Issue
Block a user