From d5855e3ad6d4801c9a7aa5fb05988e07f90727ea Mon Sep 17 00:00:00 2001 From: "142vip.cn" <2237221210@qq.com> Date: Tue, 27 May 2025 20:14:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81`pull`=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E7=BA=BF=EF=BC=8C=E5=8D=87=E7=BA=A7`@142vip`=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E4=BE=9D=E8=B5=96=E7=89=88=E6=9C=AC=20(#152)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/pull.yml | 13 + docs/.vuepress/public/mind-map/ccp-map.html | 6 +- docs/.vuepress/public/mind-map/cn-map.html | 6 +- docs/.vuepress/public/mind-map/ds-map.html | 6 +- docs/.vuepress/public/mind-map/os-map.html | 6 +- package.json | 2 +- pnpm-lock.yaml | 589 ++++++++------------ 7 files changed, 260 insertions(+), 368 deletions(-) create mode 100644 .github/pull.yml diff --git a/.github/pull.yml b/.github/pull.yml new file mode 100644 index 0000000..64e2e2b --- /dev/null +++ b/.github/pull.yml @@ -0,0 +1,13 @@ +# 参考:https://wei.github.io/pull/ +version: '1' +rules: + - base: main + upstream: 142vip:main + mergeMethod: hardreset + - base: next + upstream: 142vip:next + mergeMethod: hardreset + # 兼容master分支 + - base: master + upstream: 142vip:master + mergeMethod: hardreset diff --git a/docs/.vuepress/public/mind-map/ccp-map.html b/docs/.vuepress/public/mind-map/ccp-map.html index 8c2c13c..01c8d5a 100644 --- a/docs/.vuepress/public/mind-map/ccp-map.html +++ b/docs/.vuepress/public/mind-map/ccp-map.html @@ -16,11 +16,11 @@ height: 100vh; } - + - + })(() => window.markmap,null,{"content":"计算机组成原理","children":[{"content":"引论","children":[],"payload":{"tag":"h2","lines":"23,24"}},{"content":"数据的表示和运算","children":[],"payload":{"tag":"h2","lines":"25,26"}},{"content":"存储系统","children":[],"payload":{"tag":"h2","lines":"27,28"}},{"content":"指令系统","children":[],"payload":{"tag":"h2","lines":"29,30"}},{"content":"中央处理器","children":[],"payload":{"tag":"h2","lines":"31,32"}},{"content":"总线","children":[],"payload":{"tag":"h2","lines":"33,34"}},{"content":"输入输出系统","children":[],"payload":{"tag":"h2","lines":"35,36"}},{"content":"一些总结","children":[],"payload":{"tag":"h2","lines":"37,38"}}],"payload":{"tag":"h1","lines":"6,7"}},null) diff --git a/docs/.vuepress/public/mind-map/cn-map.html b/docs/.vuepress/public/mind-map/cn-map.html index 2c4f712..bdc5602 100644 --- a/docs/.vuepress/public/mind-map/cn-map.html +++ b/docs/.vuepress/public/mind-map/cn-map.html @@ -16,11 +16,11 @@ height: 100vh; } - + - + })(() => window.markmap,null,{"content":"计算机网络","children":[{"content":"
root(计算机网络)\n    (体系机构)\n    (物理层)\n    (数据链路层)\n    (网络层)\n    (传输层)\n    (应用层)\n\n<a href="../../mind-map/cn-map.html" target="_blank">在线预览</a>\n\n## 体系结构\n\n## 物理层\n\n## 数据链路层\n\n## 网络层\n\n## 传输层\n\n## 应用层\n\n## 一些总结\n
","children":[],"payload":{"tag":"pre","lines":"8,32"}}],"payload":{"tag":"h1","lines":"6,7"}},null) diff --git a/docs/.vuepress/public/mind-map/ds-map.html b/docs/.vuepress/public/mind-map/ds-map.html index e17440f..115f000 100644 --- a/docs/.vuepress/public/mind-map/ds-map.html +++ b/docs/.vuepress/public/mind-map/ds-map.html @@ -16,11 +16,11 @@ height: 100vh; } - + - + })(() => window.markmap,null,{"content":"数据结构","children":[{"content":"基础入门","children":[{"content":"基本概念","children":[{"content":"\n

数据

","children":[{"content":"信息的载体","children":[],"payload":{"tag":"li","lines":"29,30"}},{"content":"客观事物属性的数、字符以及所有能够输入到计算机包中并且被计算机程序识别和处理的集合","children":[],"payload":{"tag":"li","lines":"30,32"}}],"payload":{"tag":"li","lines":"27,32"}},{"content":"\n

数据元素

","children":[{"content":"数据的基本单位","children":[],"payload":{"tag":"li","lines":"34,35"}},{"content":"一个数据元素由若干个数据项组成","children":[],"payload":{"tag":"li","lines":"35,36"}},{"content":"数据项是构成数组元素的最小单位,且不可分割","children":[],"payload":{"tag":"li","lines":"36,38"}}],"payload":{"tag":"li","lines":"32,38"}},{"content":"\n

数据对象

","children":[{"content":"具有相同性质的数据元素的集合","children":[],"payload":{"tag":"li","lines":"40,41"}},{"content":"数据的子集","children":[],"payload":{"tag":"li","lines":"41,43"}}],"payload":{"tag":"li","lines":"38,43"}},{"content":"\n

数据类型

","children":[{"content":"原子类型:不可再分的数据类型","children":[],"payload":{"tag":"li","lines":"45,46"}},{"content":"结构类型:可以分解成若干分量(成分)的数据类型","children":[],"payload":{"tag":"li","lines":"46,47"}},{"content":"抽象数据类型:抽象出具组织和其相关的操作","children":[],"payload":{"tag":"li","lines":"47,49"}}],"payload":{"tag":"li","lines":"43,49"}},{"content":"\n

抽象数据类型(ADT)

","children":[{"content":"定义:一个数学模型以及定义在该模型上的一组操作","children":[],"payload":{"tag":"li","lines":"51,52"}},{"content":"特点:与计算机内部如何表示和实现是没有关系","children":[],"payload":{"tag":"li","lines":"52,53"}},{"content":"作用:数据封装和信息隐藏,让实现与使用相分离","children":[],"payload":{"tag":"li","lines":"53,54"}},{"content":"注意:不论内部结构如何变化,只要其数学特性不变,就不会影响到外部的使用","children":[],"payload":{"tag":"li","lines":"54,56"}}],"payload":{"tag":"li","lines":"49,56"}}],"payload":{"tag":"h3","lines":"25,26"}},{"content":"数据结构(三要素)","children":[{"content":"\n

逻辑结构

","children":[{"content":"线性结构:线性表、栈、队列、串、数组...","children":[],"payload":{"tag":"li","lines":"60,61"}},{"content":"非线性结构:树、图、集合...","children":[],"payload":{"tag":"li","lines":"61,62"}},{"content":"集合:除了“同属于一个集合”的关系外,别无其他关系。","children":[],"payload":{"tag":"li","lines":"62,63"}},{"content":"线性结构:只存在一对一的关系。","children":[],"payload":{"tag":"li","lines":"63,64"}},{"content":"树形结构:存在一对多的关系。","children":[],"payload":{"tag":"li","lines":"64,65"}},{"content":"图状结构和网状结构:存在多对多的关系。","children":[],"payload":{"tag":"li","lines":"65,67"}}],"payload":{"tag":"li","lines":"58,67"}},{"content":"\n

存储(物理)结构

","children":[{"content":"\n

顺序存储

","children":[{"content":"\n

逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,元素之间的关系由存储单元的邻接关系来体现

","children":[],"payload":{"tag":"li","lines":"71,72"}},{"content":"\n

优点

","children":[{"content":"可以实现随机存取","children":[],"payload":{"tag":"li","lines":"74,75"}},{"content":"元素占用最少的存储空间","children":[],"payload":{"tag":"li","lines":"75,77"}}],"payload":{"tag":"li","lines":"72,77"}},{"content":"\n

缺点

","children":[{"content":"只能使用相邻的一整块存储单元,依赖于物理结构相邻","children":[],"payload":{"tag":"li","lines":"79,80"}},{"content":"容易产生外部碎片","children":[],"payload":{"tag":"li","lines":"80,82"}}],"payload":{"tag":"li","lines":"77,82"}}],"payload":{"tag":"li","lines":"69,82"}},{"content":"\n

链式存储

","children":[{"content":"\n

与顺序存储不同,链式存储不要求逻辑上相邻的元素在物理位置上也相邻

","children":[],"payload":{"tag":"li","lines":"84,85"}},{"content":"\n

优点

","children":[{"content":"不会出现碎片现象","children":[],"payload":{"tag":"li","lines":"87,88"}},{"content":"充分利用所有存储单元","children":[],"payload":{"tag":"li","lines":"88,90"}}],"payload":{"tag":"li","lines":"85,90"}},{"content":"\n

缺点

","children":[{"content":"除了存储元素外,还需要额外存储指针,会占用额外的存储空间(结合数据库索引学习)","children":[],"payload":{"tag":"li","lines":"92,93"}},{"content":"链式存储,只能实现顺序存取,不能实现随机存取(指针的遍历)","children":[],"payload":{"tag":"li","lines":"93,95"}}],"payload":{"tag":"li","lines":"90,95"}}],"payload":{"tag":"li","lines":"82,95"}},{"content":"\n

索引存储

","children":[{"content":"\n

存放数据元素和元素间关系的存储方式,在存储元素信息的同时,还需要建立附加的索引表

","children":[],"payload":{"tag":"li","lines":"97,98"}},{"content":"\n

优点

","children":[{"content":"检索快(就好比字典有了目录,查询就很快了)","children":[],"payload":{"tag":"li","lines":"100,102"}}],"payload":{"tag":"li","lines":"98,102"}},{"content":"\n

缺点

","children":[{"content":"增加了索引表,占用较多的存储空间(典型的空间换时间策略)","children":[],"payload":{"tag":"li","lines":"104,105"}},{"content":"增加、删除数据时,需要对应修改索引表,花费更多时间","children":[],"payload":{"tag":"li","lines":"105,107"}}],"payload":{"tag":"li","lines":"102,107"}}],"payload":{"tag":"li","lines":"95,107"}},{"content":"\n

散列(Hash)存储

","children":[{"content":"\n

根据元素的关键字直接通过散列(Hash)函数计算出元素的存储地址。

","children":[],"payload":{"tag":"li","lines":"109,110"}},{"content":"\n

优点

","children":[{"content":"检索快","children":[],"payload":{"tag":"li","lines":"112,113"}},{"content":"添加、删除元素结点操作快(获取元素地址直接,整体时间就少了)","children":[],"payload":{"tag":"li","lines":"113,115"}}],"payload":{"tag":"li","lines":"110,115"}},{"content":"\n

缺点

","children":[{"content":"非常依赖于散列函数","children":[],"payload":{"tag":"li","lines":"117,118"}},{"content":"会出现散列冲突(主要依赖与散列函数,散列函数不好就很容易出现散列冲突)","children":[],"payload":{"tag":"li","lines":"118,119"}},{"content":"出现散列冲突时,解决冲突就会增加时间和空间上的开销","children":[],"payload":{"tag":"li","lines":"119,121"}}],"payload":{"tag":"li","lines":"115,121"}}],"payload":{"tag":"li","lines":"107,121"}}],"payload":{"tag":"li","lines":"67,121"}},{"content":"\n

数据的运算

","children":[{"content":"运算的定义:针对逻辑结构,指出运算的功能","children":[],"payload":{"tag":"li","lines":"123,124"}},{"content":"运算的实现:针对存储结构,指出运算的具体操作步骤","children":[],"payload":{"tag":"li","lines":"124,126"}}],"payload":{"tag":"li","lines":"121,126"}}],"payload":{"tag":"h3","lines":"56,57"}},{"content":"算法与算法评价","children":[{"content":"\n

算法

","children":[{"content":"\n

定义

","children":[{"content":"对特定问题求解步骤的一种描述","children":[],"payload":{"tag":"li","lines":"132,133"}},{"content":"是指令的有序集合","children":[],"payload":{"tag":"li","lines":"133,134"}},{"content":"每一条指令表示一个或多个操作","children":[],"payload":{"tag":"li","lines":"134,136"}}],"payload":{"tag":"li","lines":"130,136"}},{"content":"\n

五大特性

","children":[{"content":"有穷性:执行有穷步后结束、在有穷时间内完成","children":[],"payload":{"tag":"li","lines":"138,139"}},{"content":"确定性:每条指令的含义明确,不会产生二义性,对相同的输入只能得出相同的结果","children":[],"payload":{"tag":"li","lines":"139,140"}},{"content":"可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的","children":[],"payload":{"tag":"li","lines":"140,141"}},{"content":"输入:有零个或者多个输入,输入取决于某个特定的对象的集合","children":[],"payload":{"tag":"li","lines":"141,142"}},{"content":"输出:有一个或者多个输出,输出是和输入有着某种特定关系的量","children":[],"payload":{"tag":"li","lines":"142,144"}}],"payload":{"tag":"li","lines":"136,144"}},{"content":"\n

好算法追求的目标

","children":[{"content":"\n

正确性:需要正确的解决求解问题

","children":[],"payload":{"tag":"li","lines":"146,147"}},{"content":"\n

可读性:便于理解

","children":[],"payload":{"tag":"li","lines":"147,148"}},{"content":"\n

健壮性:在输入非法数据时,算法也能适当地做出反应或进行处理,而不会产生莫名奇妙的输出结果

","children":[],"payload":{"tag":"li","lines":"148,149"}},{"content":"\n

效率与低存储量需求

","children":[{"content":"效率:算法执行的时间--->时间复杂度","children":[],"payload":{"tag":"li","lines":"151,152"}},{"content":"存储量需求:算法那执行过程中所有要的最大存储空间--->空间复杂度","children":[],"payload":{"tag":"li","lines":"152,154"}}],"payload":{"tag":"li","lines":"149,154"}}],"payload":{"tag":"li","lines":"144,154"}}],"payload":{"tag":"li","lines":"128,154"}},{"content":"\n

算法的评价

","children":[{"content":"\n

程序语句频度:程序语句在算法中被重复执行的次数

","children":[],"payload":{"tag":"li","lines":"156,157"}},{"content":"\n

时间复杂度O(n)

","children":[{"content":"最坏空间复杂度:最坏情况下,算法的时间复杂度","children":[],"payload":{"tag":"li","lines":"159,160"}},{"content":"平均空间复杂度:所有可能输入实例在同等概率出现的情况下,算法的期望运行时间","children":[],"payload":{"tag":"li","lines":"160,161"}},{"content":"最好空间复杂度:最好的情况下,算法的时间复杂度","children":[],"payload":{"tag":"li","lines":"161,163"}}],"payload":{"tag":"li","lines":"157,163"}},{"content":"\n

空间复杂度S(n)

","children":[{"content":"用来定义算法运行过程中需要耗费的存储空间","children":[],"payload":{"tag":"li","lines":"165,166"}},{"content":"渐进空间复杂度也被称为空间复杂度
\n记作:S(n)=O(g(n))","children":[],"payload":{"tag":"li","lines":"166,169"}}],"payload":{"tag":"li","lines":"163,169"}}],"payload":{"tag":"li","lines":"154,169"}}],"payload":{"tag":"h3","lines":"126,127"}}],"payload":{"tag":"h2","lines":"23,24"}},{"content":"线性表","children":[{"content":"定义和基本操作","children":[{"content":"\n

基本概念

","children":[{"content":"\n

定义:线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列

","children":[],"payload":{"tag":"li","lines":"175,176"}},{"content":"\n

逻辑特性

","children":[{"content":"除表头元素外,线性表中每个元素有且仅有一个","children":[],"payload":{"tag":"li","lines":"178,179"}},{"content":"除表尾元素外,线性表中每个元素有且仅有一个直接后继","children":[],"payload":{"tag":"li","lines":"179,181"}}],"payload":{"tag":"li","lines":"176,181"}},{"content":"\n

基本特点

","children":[{"content":"元素个数有限","children":[],"payload":{"tag":"li","lines":"183,184"}},{"content":"逻辑上具有顺序性","children":[],"payload":{"tag":"li","lines":"184,185"}},{"content":"每个元素都是单个元素","children":[],"payload":{"tag":"li","lines":"185,186"}},{"content":"数据类型都相同,元素存储空间大小一致","children":[],"payload":{"tag":"li","lines":"186,187"}},{"content":"元素具有抽象性,只讨论逻辑关系","children":[],"payload":{"tag":"li","lines":"187,189"}}],"payload":{"tag":"li","lines":"181,189"}}],"payload":{"tag":"li","lines":"173,189"}},{"content":"\n

基本操作

","children":[{"content":"InitList(&L): 初始化表。构造空的线性表","children":[],"payload":{"tag":"li","lines":"191,192"}},{"content":"Length(L):获取表的长度。返回线性表L的长度,即表中的数据元素个数","children":[],"payload":{"tag":"li","lines":"192,193"}},{"content":"LocateElem(L,e):按值查找操作。在表L中国查找具有给定关键字的元素","children":[],"payload":{"tag":"li","lines":"193,194"}},{"content":"GetElem(L,i):按位查找操作。获取表中第i个位置的元素的值","children":[],"payload":{"tag":"li","lines":"194,195"}},{"content":"ListInsert(&L,i,e):插入操作。在表的第i个位置上插入指定元素e","children":[],"payload":{"tag":"li","lines":"195,196"}},{"content":"ListDelete(&L,i,&e):删除操作。删除表中第i个位置的元素,并用e返回删除元素的值","children":[],"payload":{"tag":"li","lines":"196,197"}},{"content":"PrintList(L):输出操作。按照前后顺序(如:1、2....n)输出线性表的所有元素值","children":[],"payload":{"tag":"li","lines":"197,198"}},{"content":"Empty(L):判空操作。当表L为空,则返回true,否则返回false","children":[],"payload":{"tag":"li","lines":"198,199"}},{"content":"DestoryList(&L):销毁操作。将线性表销毁,释放线性表L所占用的内存空间","children":[],"payload":{"tag":"li","lines":"199,201"}}],"payload":{"tag":"li","lines":"189,201"}}],"payload":{"tag":"h3","lines":"171,172"}},{"content":"顺序表示","children":[{"content":"\n

基础概念

","children":[{"content":"\n

定义

","children":[{"content":"顺序表:顺序存储的线性表","children":[],"payload":{"tag":"li","lines":"207,208"}},{"content":"顺序表中的元素的逻辑顺序与实际的物理位置相同","children":[],"payload":{"tag":"li","lines":"208,209"}},{"content":"线性表中的元素的位序是从1开始的,数组中的元素的下标是从0开始的","children":[],"payload":{"tag":"li","lines":"209,211"}}],"payload":{"tag":"li","lines":"205,211"}},{"content":"\n

存储分配

","children":[{"content":"静态分配:数组的大小和空间都是实现确定好的,一旦存储空间占满就会产生溢出,直接导致程序崩溃","children":[],"payload":{"tag":"li","lines":"213,214"}},{"content":"动态分配:存储数据的空间在程序执行过程中通过动态存储分配语句分配的,即便是数据空间占满,也可以另外开辟一块更大的空间,来替换原来的存储空间","children":[],"payload":{"tag":"li","lines":"214,215"}},{"content":"malloc()函数: 指针型函数,返回的指针指向该分配域的开头的位置。作用是在内存的动态存储区中分配一个长度为size的连续空间","children":[],"payload":{"tag":"li","lines":"215,216"}},{"content":"动态分配不是链式存储,而是属于顺序存储结构,动态分配的物理结构没有改变,依然是随机存取的方式。只是分配的空间大小可以在运行时决定","children":[],"payload":{"tag":"li","lines":"216,218"}}],"payload":{"tag":"li","lines":"211,218"}},{"content":"\n

重要特点

","children":[{"content":"随机访问【重要】","children":[],"payload":{"tag":"li","lines":"220,221"}},{"content":"存储密度高","children":[],"payload":{"tag":"li","lines":"221,222"}},{"content":"逻辑上相邻的元素物理上也相邻","children":[],"payload":{"tag":"li","lines":"222,224"}}],"payload":{"tag":"li","lines":"218,224"}}],"payload":{"tag":"li","lines":"203,224"}},{"content":"\n

基本操作

","children":[{"content":"\n

插入元素

","children":[{"content":"\n

在顺序表L的第i(1≤i≤L.length+1)个位置插入新元素,成功返回true,失败返回false

","children":[],"payload":{"tag":"li","lines":"228,229"}},{"content":"\n

时间复杂度

","children":[{"content":"最好情况:在表尾插入,元素向后移动循环没有执行,时间复杂度O(1);","children":[],"payload":{"tag":"li","lines":"231,232"}},{"content":"最坏情况:在表头插入,元素后移循环执行n次,时间复杂度为O(n);","children":[],"payload":{"tag":"li","lines":"232,233"}},{"content":"平均情况:随机插入,平均次数为:n/2,对应的平均复杂度为O(n);","children":[],"payload":{"tag":"li","lines":"233,235"}}],"payload":{"tag":"li","lines":"229,235"}},{"content":"\n

平均时间复杂度为:O(n)

","children":[],"payload":{"tag":"li","lines":"235,237"}}],"payload":{"tag":"li","lines":"226,237"}},{"content":"\n

删除元素

","children":[{"content":"\n

删除顺序表L中第i(1≤i≤L.length+1)个位置的元素。成功则返回true,将被删除的元素用引用变量返回,失败则返回false

","children":[],"payload":{"tag":"li","lines":"239,240"}},{"content":"\n

时间复杂度

","children":[{"content":"最好情况:删除表尾元素,不需要移动任何元素,时间复杂度为O(1);","children":[],"payload":{"tag":"li","lines":"242,243"}},{"content":"最坏情况:删除表头元素,需要移动除第一个元素外的所有元素,时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"243,244"}},{"content":"平均情况:随机删除,平均需要(n-1)/2,对应的时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"244,246"}}],"payload":{"tag":"li","lines":"240,246"}},{"content":"\n

平均时间复杂度为O(n)

","children":[],"payload":{"tag":"li","lines":"246,248"}}],"payload":{"tag":"li","lines":"237,248"}},{"content":"\n

按值查找(顺序查找)

","children":[{"content":"\n

在顺序表L中查找第一个元素值等于e的元素查找成功返回该元素位序(不是角标),查找失败返回0

","children":[],"payload":{"tag":"li","lines":"250,251"}},{"content":"\n

位序(个人理解):元素在线性表中的位置序号,角标为i(角标从0开始),对应的位序为i+1(位序从1开始)。当返回为0时,则直接代表没有命中

","children":[],"payload":{"tag":"li","lines":"251,252"}},{"content":"\n

时间复杂度

","children":[{"content":"最好情况:查找的元素在表头,只需要比较一次,循环成本最小,时间复杂度为O(1);","children":[],"payload":{"tag":"li","lines":"254,255"}},{"content":"最坏情况:查找的元素在表尾或者不存在,需要完整遍历,比较n次,时间复杂度为O(n);","children":[],"payload":{"tag":"li","lines":"255,256"}},{"content":"平均情况:随机查找表上的第i个(1≤i≤L.length)元素,平均次数为(n+1)/2,对应时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"256,258"}}],"payload":{"tag":"li","lines":"252,258"}},{"content":"\n

平均时间复杂度为O(n)

","children":[],"payload":{"tag":"li","lines":"258,260"}}],"payload":{"tag":"li","lines":"248,260"}}],"payload":{"tag":"li","lines":"224,260"}}],"payload":{"tag":"h3","lines":"201,202"}},{"content":"链式表示","children":[{"content":"\n

基础理解

","children":[{"content":"链式存储线性表时,不需要使用连续的存储单元,不要求逻辑上相邻的两个元素在物理位置上也相邻","children":[],"payload":{"tag":"li","lines":"264,265"}},{"content":"链式存储线性表时,对线性表的插入、删除元素是不需要移动元素的,只是需要修改指针","children":[],"payload":{"tag":"li","lines":"265,266"}},{"content":"理解“链”的含义,链条--->捆绑、指向------>指针","children":[],"payload":{"tag":"li","lines":"266,268"}}],"payload":{"tag":"li","lines":"262,268"}},{"content":"\n

单链表

","children":[{"content":"\n

定义:线性表的链式存储称作单链表,通过一组任意的存储单元来存储线性表中的数据元素。

","children":[],"payload":{"tag":"li","lines":"270,271"}},{"content":"\n

每个链表结点(node)除了存放元素自身的信息外,还需要存放一个指向其后继结点的指针。通过指针建立起链表元素之间的线性关系

","children":[],"payload":{"tag":"li","lines":"271,272"}},{"content":"\n

单链表可以解决顺序表需要大量连续存储空间的缺点,但是单链表在数据域的基础上附加了指针域,存在浪费存储空间的缺点

","children":[],"payload":{"tag":"li","lines":"272,273"}},{"content":"\n

单链表的元素是离散地分布在存储空间中的,不能直接找到表中特定的结点,需要从头开始遍历、一次查找【单链表是非随机存取的存储结构】

","children":[],"payload":{"tag":"li","lines":"273,274"}},{"content":"\n

头结点相关

","children":[{"content":"\n

定义:为了操作上的方便,在单链表第一个结点之前附加一个结点,叫做头结点。

","children":[],"payload":{"tag":"li","lines":"276,277"}},{"content":"\n

基本特点

","children":[{"content":"不论单链表是否带头结点【可选】,头指针始终指向链表的第一个结点","children":[],"payload":{"tag":"li","lines":"279,280"}},{"content":"头结点的指针域指向线性表的第一个元素结点","children":[],"payload":{"tag":"li","lines":"280,281"}},{"content":"头结点的数据域可以不存任何信息、也可以记录表长等基础信息","children":[],"payload":{"tag":"li","lines":"281,282"}},{"content":"头结点是带头结点的链表中的第一个结点","children":[],"payload":{"tag":"li","lines":"282,284"}}],"payload":{"tag":"li","lines":"277,284"}},{"content":"\n

优点

","children":[{"content":"因为开始结点的位置被存放在头结点的指针域中,所以在链表的第一个位置上的操作和在表的其他位置上的操作一致,不需要进行特殊处理","children":[],"payload":{"tag":"li","lines":"286,287"}},{"content":"无论链表是否为空,头指针始终是指向头结点的头结点的非空指针","children":[],"payload":{"tag":"li","lines":"287,288"}},{"content":"头结点的引入,很好的统一了空表和非空表的操作,有效避免头指针空指针异常问题","children":[],"payload":{"tag":"li","lines":"288,290"}}],"payload":{"tag":"li","lines":"284,290"}}],"payload":{"tag":"li","lines":"274,290"}},{"content":"\n

基本操作

","children":[{"content":"\n

链表创建

","children":[{"content":"\n

头插法

","children":[{"content":"定义:从空表开始,生成新的结点,将读取的数据存放在新结点的数据域中,将新结点插入到当前链表的表头【头结点之后】","children":[],"payload":{"tag":"li","lines":"296,297"}},{"content":"读入数据的顺序与生成的链表中的元素顺序是相反的","children":[],"payload":{"tag":"li","lines":"297,298"}},{"content":"每个结点插入的时间复杂度为O(1),单链表长度为n时,头插法的时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"298,300"}}],"payload":{"tag":"li","lines":"294,300"}},{"content":"\n

尾插法

","children":[{"content":"定义:新结点插入到当前链表的表尾上,必须增加一个尾指针r,始终指向当前链表的尾结点","children":[],"payload":{"tag":"li","lines":"302,303"}},{"content":"读入数据的顺序与生成的链表中的元素顺序完全一致","children":[],"payload":{"tag":"li","lines":"303,304"}},{"content":"每个结点插入的时间复杂度为O(1),单链表长度为n时,尾巴插法的时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"304,305"}},{"content":"相比头插法附设了一个指向表尾结点的指针,但时间复杂度与头插法相同","children":[],"payload":{"tag":"li","lines":"305,307"}}],"payload":{"tag":"li","lines":"300,307"}}],"payload":{"tag":"li","lines":"292,307"}},{"content":"\n

按序号查找

","children":[{"content":"定义:在单链表中从第一个结点出发,顺指针next域逐个往下搜索、遍历,直到找出第i个结点为止,否则返回最后一个结点指针域NULL","children":[],"payload":{"tag":"li","lines":"309,310"}},{"content":"时间复杂度为:O(n)","children":[],"payload":{"tag":"li","lines":"310,312"}}],"payload":{"tag":"li","lines":"307,312"}},{"content":"\n

按值查找

","children":[{"content":"定义:从单链表的第一个结点开始,从前往后依次比较表中个结点数据域的值,等于给定值e,则返回该结点的指针;若整个单链表【遍历完】中没有数据域值为e的结点,则返回NULL;","children":[],"payload":{"tag":"li","lines":"314,315"}},{"content":"时间复杂度为:O(n)","children":[],"payload":{"tag":"li","lines":"315,317"}}],"payload":{"tag":"li","lines":"312,317"}},{"content":"\n

插入结点

","children":[{"content":"\n

定义:单链表中,将值为x的新结点插入到单链表的第i个位置上

","children":[],"payload":{"tag":"li","lines":"319,320"}},{"content":"\n

基本步骤

","children":[{"content":"第一步: 检查插入位置的合法性;","children":[],"payload":{"tag":"li","lines":"322,323"}},{"content":"第二步: 找到待插入位置的前驱结点,即第(i-1)个结点;","children":[],"payload":{"tag":"li","lines":"323,324"}},{"content":"第三部: 在前驱结点后插入新结点;","children":[],"payload":{"tag":"li","lines":"324,325"}},{"content":"过程不能更换,避免后继指针不存在的问题","children":[],"payload":{"tag":"li","lines":"325,327"}}],"payload":{"tag":"li","lines":"320,327"}},{"content":"\n

时间复杂度

","children":[{"content":"插入结点的时间复杂度集中在查找第(i-1)个元素,时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"329,330"}},{"content":"如果在给定结点的后面插入新结点,只需要执行p->next=s操作,时间复杂度为O(1)","children":[],"payload":{"tag":"li","lines":"330,332"}}],"payload":{"tag":"li","lines":"327,332"}},{"content":"\n

前插操作:在某结点的前面插入一个新的结点

","children":[],"payload":{"tag":"li","lines":"332,333"}},{"content":"\n

后插操作:在某结点的后面插入一个新的结点,单链表插入算法中,通常采用后插操作的

","children":[],"payload":{"tag":"li","lines":"333,334"}},{"content":"\n

对结点的前插操作都可以转化为后插操作,前提:需要从单链表的头结点开始顺序查找到其前驱结点;时间复杂度为O(n)。

","children":[],"payload":{"tag":"li","lines":"334,336"}}],"payload":{"tag":"li","lines":"317,336"}},{"content":"\n

删除结点

","children":[{"content":"\n

定义:将单链表L的第i个结点元素删除;

","children":[],"payload":{"tag":"li","lines":"338,339"}},{"content":"\n

基本步骤

","children":[{"content":"第一步: 先检查删除位置的合法性;","children":[],"payload":{"tag":"li","lines":"341,342"}},{"content":"第二步: 查找表中的第(i-1)个结点,即被删结点的前驱结点;","children":[],"payload":{"tag":"li","lines":"342,343"}},{"content":"第三步: 移动指针,删除结点元素;","children":[],"payload":{"tag":"li","lines":"343,345"}}],"payload":{"tag":"li","lines":"339,345"}},{"content":"\n

和插入算法一样,时间都消耗在查询前驱结点上,时间复杂度为:O(n)

","children":[],"payload":{"tag":"li","lines":"345,346"}},{"content":"\n

利用p结点的后继结点将p结点删除【经典思路】

","children":[{"content":"第一步:申请结点q,使其只想p结点的后继结点;","children":[],"payload":{"tag":"li","lines":"348,349"}},{"content":"第二步:将p结点的数据域值换成其后继结点的数据域;【注意,交换没什么意义,最终p的后继结点会删除、释放】","children":[],"payload":{"tag":"li","lines":"349,350"}},{"content":"第三步:p的指针域指向q的指针域,q结点从链中“断开”","children":[],"payload":{"tag":"li","lines":"350,351"}},{"content":"第四步:释放q的内存空间","children":[],"payload":{"tag":"li","lines":"351,352"}},{"content":"相比按值查找前驱结点来删除给定的结点p,利用后继结点来删除的时间复杂度更小,为:O(1)","children":[],"payload":{"tag":"li","lines":"352,354"}}],"payload":{"tag":"li","lines":"346,354"}}],"payload":{"tag":"li","lines":"336,354"}},{"content":"\n

计算表长(遍历)

","children":[{"content":"\n

定义:计算单链表中数据结点(不含头结点)的个数

","children":[],"payload":{"tag":"li","lines":"356,357"}},{"content":"\n

算法思路:从第一个结点开始顺序依次访问表中的每一个结点,为此需要设置一个计数器变量,每访问一个结点,计算器加1,直到访问到空结点为止。

","children":[],"payload":{"tag":"li","lines":"357,358"}},{"content":"\n

时间复杂度:O(n)

","children":[],"payload":{"tag":"li","lines":"358,359"}},{"content":"\n

判空条件

","children":[{"content":"不带头结点的单链表L为空,判定条件是L=NULL。","children":[],"payload":{"tag":"li","lines":"361,362"}},{"content":"带头结点的单链表L为空,判空条件:L->next=NULL","children":[],"payload":{"tag":"li","lines":"362,364"}}],"payload":{"tag":"li","lines":"359,364"}}],"payload":{"tag":"li","lines":"354,364"}}],"payload":{"tag":"li","lines":"290,364"}}],"payload":{"tag":"li","lines":"268,364"}},{"content":"\n

双链表

","children":[{"content":"\n

定义:在单链表的结点中增加了一个指向结点前驱的prior指针,由prior指针域、data数据域、next指针域三部分组成。

","children":[],"payload":{"tag":"li","lines":"366,367"}},{"content":"\n

基本特点

","children":[{"content":"双链表仅仅在单链表的结点中增加了一个指向结点前驱的prior指针","children":[],"payload":{"tag":"li","lines":"369,370"}},{"content":"按值查找、按序号查找在单链表和双链表上的操作是相同的","children":[],"payload":{"tag":"li","lines":"370,371"}},{"content":"和单链表不同,插入、删除操作除了修改next指针域,双链表还需要修改prior指针域,确保不断【重要】","children":[],"payload":{"tag":"li","lines":"371,373"}}],"payload":{"tag":"li","lines":"367,373"}},{"content":"\n

基本操作

","children":[{"content":"\n

插入结点

","children":[{"content":"第一步:s->next=p->next","children":[],"payload":{"tag":"li","lines":"377,378"}},{"content":"第二步:p->next-prior=s","children":[],"payload":{"tag":"li","lines":"378,379"}},{"content":"第三步:s->prior=p","children":[],"payload":{"tag":"li","lines":"379,380"}},{"content":"第四步:p->next=s","children":[],"payload":{"tag":"li","lines":"380,381"}},{"content":"时间复杂度:O(1)","children":[],"payload":{"tag":"li","lines":"381,382"}},{"content":"注意:结点p和s的前驱、后继指针要关联清楚,第一二步必须在第四步之前完成【重要】","children":[],"payload":{"tag":"li","lines":"382,384"}}],"payload":{"tag":"li","lines":"375,384"}},{"content":"\n

删除结点

","children":[{"content":"第一步:p->next=q->next","children":[],"payload":{"tag":"li","lines":"386,387"}},{"content":"第二步:q->next->prior=p","children":[],"payload":{"tag":"li","lines":"387,388"}},{"content":"第三步:free(q) 释放结点内存空间","children":[],"payload":{"tag":"li","lines":"388,389"}},{"content":"时间复杂度:O(1)","children":[],"payload":{"tag":"li","lines":"389,390"}},{"content":"注意:删除双链表结点p的后继结点的第一二步,顺序可换,及时释放内存空间【重要】","children":[],"payload":{"tag":"li","lines":"390,392"}}],"payload":{"tag":"li","lines":"384,392"}}],"payload":{"tag":"li","lines":"373,392"}}],"payload":{"tag":"li","lines":"364,392"}},{"content":"\n

循环链表

","children":[{"content":"\n

循环单链表

","children":[{"content":"\n

定义:在单链表的基础上,将最后一个结点(尾结点)的指针由NULL改为指向头结点,形成。【单链表----->循环单链表】

","children":[],"payload":{"tag":"li","lines":"396,397"}},{"content":"\n

判断条件

","children":[{"content":"不是判断头结点的指针是否为空,而是需要判断是否等于头指针","children":[],"payload":{"tag":"li","lines":"399,400"}},{"content":"表为空时,头结点的next指针域其实是指向自己","children":[],"payload":{"tag":"li","lines":"400,401"}},{"content":"结点的next指针指向自己,也就能判断表为空","children":[],"payload":{"tag":"li","lines":"401,403"}}],"payload":{"tag":"li","lines":"397,403"}},{"content":"\n

基本特点

","children":[{"content":"在循环单链表中,尾结点*p的next指针域指向链表L(即:头结点),形成了闭环,不存在指针域为NULL的结点","children":[],"payload":{"tag":"li","lines":"405,406"}},{"content":"由于循环单链表是个,在任何位置上的插入、删除操作都是等价的,不需要去判断是否是表尾","children":[],"payload":{"tag":"li","lines":"406,407"}},{"content":"单链表只能从头结点(表头结点)开始往后顺序遍历整个表,循环单链表可以从表中任意位置开始遍历整个链表,结点是等价的","children":[],"payload":{"tag":"li","lines":"407,408"}},{"content":"循环单链表可以抽象为时钟,形成的是有顺序的","children":[],"payload":{"tag":"li","lines":"408,409"}},{"content":"频繁的表头表尾操作,可以对循环单链表设置尾指针,而不设置头指针,明确尾指针r后,头指针即为:r->next ,减少头指针到尾指针间的遍历,时间复杂度:O(n)---->O(1)","children":[],"payload":{"tag":"li","lines":"409,411"}}],"payload":{"tag":"li","lines":"403,411"}}],"payload":{"tag":"li","lines":"394,411"}},{"content":"\n

循环双链表

","children":[{"content":"\n

定义:在双链表的基础上,将尾结点的next指针指向头结点,将头结点的prior指针指向尾结点。【双链表----->循环双链表】

","children":[],"payload":{"tag":"li","lines":"413,414"}},{"content":"\n

判空条件

","children":[{"content":"\n

循环双链表为空时,头结点*p的prior指针和next指针都指向L

","children":[],"payload":{"tag":"li","lines":"416,417"}},{"content":"\n

同时满足

","children":[{"content":"p->prior=L","children":[],"payload":{"tag":"li","lines":"419,420"}},{"content":"p->next=L","children":[],"payload":{"tag":"li","lines":"420,422"}}],"payload":{"tag":"li","lines":"417,422"}}],"payload":{"tag":"li","lines":"414,422"}},{"content":"\n

基本特点:从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点后继结点

","children":[],"payload":{"tag":"li","lines":"422,424"}}],"payload":{"tag":"li","lines":"411,424"}}],"payload":{"tag":"li","lines":"392,424"}},{"content":"\n

静态链表

","children":[{"content":"\n

定义:借助数组来描述线性表的链式存储结构,结点元素同样存在数据域data和指针域next

","children":[],"payload":{"tag":"li","lines":"426,427"}},{"content":"\n

需要注意

","children":[{"content":"和普通的链表的指针域不同的是,静态链表的指针是结点元素的相对地址(数组下标),也称为游标,建议结合高级语言中数组的概念来理解;","children":[],"payload":{"tag":"li","lines":"429,430"}},{"content":"与顺序表一样,虽然静态链表属于链表,但是存储时需要预先分配一块连续的内存空间","children":[],"payload":{"tag":"li","lines":"430,431"}},{"content":"静态链表是通过数组游标来访问下一个结点元素","children":[],"payload":{"tag":"li","lines":"431,433"}}],"payload":{"tag":"li","lines":"427,433"}},{"content":"\n

特点

","children":[{"content":"静态链表以next=-1作为结束的标志【尾结点】","children":[],"payload":{"tag":"li","lines":"435,436"}},{"content":"和动态链表相同,插入、删除操作不需要移动元素,只需要修改指针;","children":[],"payload":{"tag":"li","lines":"436,437"}},{"content":"总体来说,静态链表没有单链表使用方便,需要将整个链表存储在一块连续的内存空间中,内部的存储可以分散,通过指针构成的关系","children":[],"payload":{"tag":"li","lines":"437,439"}}],"payload":{"tag":"li","lines":"433,439"}}],"payload":{"tag":"li","lines":"424,439"}},{"content":"\n

零碎知识补充

","children":[{"content":"\n

无论是链表的插入还是删除操作,必须保证不断链【重要】

","children":[],"payload":{"tag":"li","lines":"441,442"}},{"content":"\n

顺序存储结构可以随机存取也能顺序存取,链式结构只能进行顺序存取

","children":[],"payload":{"tag":"li","lines":"442,443"}},{"content":"\n

顺序存储方式同样适合图和树的存储,例如:满二叉树的顺序存储

","children":[],"payload":{"tag":"li","lines":"443,444"}},{"content":"\n

队列需要在表头删除元素,在表尾插入元素【先进先出】,采用带尾指针的循环单链表比较方便

","children":[],"payload":{"tag":"li","lines":"444,445"}},{"content":"\n

静态链表中的指针称为游标,指示下一个元素在数组中的下标

","children":[],"payload":{"tag":"li","lines":"445,446"}},{"content":"\n

静态链表用数组表示,需要预先分配较大的连续空间,同时具有一般链表的特点(插入、删除元素不需要移动元素)

","children":[],"payload":{"tag":"li","lines":"446,447"}},{"content":"\n

单链表设置头结点的

","children":[{"content":"\n

目的:方便运算

","children":[],"payload":{"tag":"li","lines":"449,450"}},{"content":"\n

好处

","children":[{"content":"有头结点后,插入、删除数据元素的算法统一起来了,不需要判断是否在第一个元素之前插入或者删除第一个元素了","children":[],"payload":{"tag":"li","lines":"452,453"}},{"content":"不论链表是否为空,头指针是指向头结点的非空指针,链表的头指针不变,因此空链表和非空链表的处理也就统一起来了。","children":[],"payload":{"tag":"li","lines":"453,455"}}],"payload":{"tag":"li","lines":"450,455"}}],"payload":{"tag":"li","lines":"447,455"}}],"payload":{"tag":"li","lines":"439,455"}}],"payload":{"tag":"h3","lines":"260,261"}},{"content":"顺序表和链表的比较","children":[{"content":"\n

存取方式

","children":[{"content":"顺序表支持顺序存取和随机存取","children":[],"payload":{"tag":"li","lines":"459,460"}},{"content":"链表只能从表头顺序存取元素,支持顺序存取","children":[],"payload":{"tag":"li","lines":"460,462"}}],"payload":{"tag":"li","lines":"457,462"}},{"content":"\n

逻辑结构与物理结构

","children":[{"content":"顺序存储时,逻辑上相邻的元素,对应的物理存储位置也相邻【一定性】","children":[],"payload":{"tag":"li","lines":"464,465"}},{"content":"链式存储时,逻辑上相邻的元素,对应的物理存储位置不一定相邻【可以相邻,也可以不相邻】","children":[],"payload":{"tag":"li","lines":"465,466"}},{"content":"链式存储的逻辑关系通过指针链接表示","children":[],"payload":{"tag":"li","lines":"466,468"}}],"payload":{"tag":"li","lines":"462,468"}},{"content":"\n

时间复杂度

","children":[{"content":"\n

按值查找

","children":[{"content":"顺序表无序的情况下,顺序表和链表的时间复杂度均为O(n);","children":[],"payload":{"tag":"li","lines":"472,473"}},{"content":"顺序表有序的情况下,顺序表的时间复杂度为O(log2n),链表为O(n);","children":[],"payload":{"tag":"li","lines":"473,475"}}],"payload":{"tag":"li","lines":"470,475"}},{"content":"\n

按序号查找

","children":[{"content":"顺序表支持随机访问,时间复杂度为O(1);","children":[],"payload":{"tag":"li","lines":"477,478"}},{"content":"顺序表不支持随机访问,时间复杂度为O(n);","children":[],"payload":{"tag":"li","lines":"478,480"}}],"payload":{"tag":"li","lines":"475,480"}},{"content":"\n

插入、删除

","children":[{"content":"顺序表平均需要移动半个表长的元素;","children":[],"payload":{"tag":"li","lines":"482,483"}},{"content":"链表只需要修改相应结点的指针域,不需要移动元素;","children":[],"payload":{"tag":"li","lines":"483,484"}},{"content":"链表结点除了数据域,还有指针域,在存储空间上比顺序存储需要更大的存储空间,付出更大的存储代价,存储密度不够大","children":[],"payload":{"tag":"li","lines":"484,486"}}],"payload":{"tag":"li","lines":"480,486"}}],"payload":{"tag":"li","lines":"468,486"}},{"content":"\n

空间分配

","children":[{"content":"\n

顺序存储

","children":[{"content":"\n

静态分配

","children":[{"content":"需要预先分配足够大的存储空间","children":[],"payload":{"tag":"li","lines":"492,493"}},{"content":"空间装满后不能扩充,存储新元素将出现内存溢出","children":[],"payload":{"tag":"li","lines":"493,494"}},{"content":"存储空间过大,顺序表后部闲置空间过多,造成内部碎片","children":[],"payload":{"tag":"li","lines":"494,495"}},{"content":"存储空间过小,会造成内存溢出","children":[],"payload":{"tag":"li","lines":"495,497"}}],"payload":{"tag":"li","lines":"490,497"}},{"content":"\n

动态分配

","children":[{"content":"能够扩充存储空间","children":[],"payload":{"tag":"li","lines":"499,500"}},{"content":"需要移动大量元素,操作效率降低","children":[],"payload":{"tag":"li","lines":"500,501"}},{"content":"内存中没有更大块的连续存储空间,将会导致空间分配失败;","children":[],"payload":{"tag":"li","lines":"501,503"}}],"payload":{"tag":"li","lines":"497,503"}}],"payload":{"tag":"li","lines":"488,503"}},{"content":"\n

链式存储

","children":[{"content":"结点空间只在需要的时候申请分配","children":[],"payload":{"tag":"li","lines":"505,506"}},{"content":"只要内存由空间就可以分配,操作灵活、高效","children":[],"payload":{"tag":"li","lines":"506,508"}}],"payload":{"tag":"li","lines":"503,508"}}],"payload":{"tag":"li","lines":"486,508"}}],"payload":{"tag":"h3","lines":"455,456"}},{"content":"存储结构选取","children":[{"content":"\n

基于存储的考虑

","children":[{"content":"对线性表的长度和存储规模难以估计时,不宜采用顺序表存储","children":[],"payload":{"tag":"li","lines":"512,513"}},{"content":"链表不用事先估计存储规模,但存储密度较低","children":[],"payload":{"tag":"li","lines":"513,514"}},{"content":"链式存储结构的存储密度小于1,不要求连续的存储空间","children":[],"payload":{"tag":"li","lines":"514,516"}}],"payload":{"tag":"li","lines":"510,516"}},{"content":"\n

基于运算的考虑

","children":[{"content":"\n

随机存取

","children":[{"content":"顺序表支持随机存取,按序号查找顺序表的时间复杂度为O(1),相对较好","children":[],"payload":{"tag":"li","lines":"520,521"}},{"content":"链表不支持随机存取,按序号查找链表的时间复杂度为O(n)","children":[],"payload":{"tag":"li","lines":"521,523"}}],"payload":{"tag":"li","lines":"518,523"}},{"content":"\n

插入、删除操作

","children":[{"content":"顺序表的插入、删除操作,平均需要移动表中一半的元素,当表的数据量较大时,这种情况需要重点考虑的","children":[],"payload":{"tag":"li","lines":"525,526"}},{"content":"链表的插入、删除操作,也是需要找插入位置(前驱结点、后继结点),主要的操作还是比较操作,相对较好","children":[],"payload":{"tag":"li","lines":"526,528"}}],"payload":{"tag":"li","lines":"523,528"}}],"payload":{"tag":"li","lines":"516,528"}},{"content":"\n

基于环境的考虑

","children":[{"content":"顺序表容易实现,任何高级语言中都有数组类型","children":[],"payload":{"tag":"li","lines":"530,531"}},{"content":"链表操作是基于指针的,指针移动,相对复杂","children":[],"payload":{"tag":"li","lines":"531,533"}}],"payload":{"tag":"li","lines":"528,533"}},{"content":"\n

综合结论

","children":[{"content":"通常比较稳定的线性表选择顺序存储","children":[],"payload":{"tag":"li","lines":"535,536"}},{"content":"频繁进行插入、删除操作的线性表,应该选择链式存储,动态性较强","children":[],"payload":{"tag":"li","lines":"536,538"}}],"payload":{"tag":"li","lines":"533,538"}}],"payload":{"tag":"h3","lines":"508,509"}}],"payload":{"tag":"h2","lines":"169,170"}},{"content":"栈和队列","children":[{"content":"栈【后进先出】","children":[{"content":"\n

基础概念

","children":[{"content":"\n

定义: 只允许在一端进行插入或者删除操作的线性表。

","children":[{"content":"后进先出","children":[],"payload":{"tag":"li","lines":"546,547"}},{"content":"明确栈是一种线性表","children":[],"payload":{"tag":"li","lines":"547,548"}},{"content":"限定栈只能在某一端进行插入或者删除操作","children":[],"payload":{"tag":"li","lines":"548,550"}}],"payload":{"tag":"li","lines":"544,550"}},{"content":"\n

栈顶:线性表允许进行插入和删除的一端

","children":[],"payload":{"tag":"li","lines":"550,551"}},{"content":"\n

栈底:不允许进行插入和删除的另外一端,是固定的

","children":[],"payload":{"tag":"li","lines":"551,552"}},{"content":"\n

空栈:不含任何元素的空表,也叫栈空

","children":[],"payload":{"tag":"li","lines":"552,554"}}],"payload":{"tag":"li","lines":"542,554"}},{"content":"\n

基本操作

","children":[{"content":"InitStack(&S): 初始化一个空栈S,栈顶指针初始化为-1","children":[],"payload":{"tag":"li","lines":"556,557"}},{"content":"StackEmpty(S): 判断一个栈是否为空,如果栈空则返回true,否则返回false","children":[],"payload":{"tag":"li","lines":"557,558"}},{"content":"Push(&S,x): 进栈,若栈未满,x进栈操作,插入到栈内成为新的栈顶元素","children":[],"payload":{"tag":"li","lines":"558,559"}},{"content":"Pop(&S,&x): 出栈,若栈非空,出栈操作,弹出栈顶元素,用指针x进行返回","children":[],"payload":{"tag":"li","lines":"559,560"}},{"content":"GetTop(S,&x): 读栈顶元素,若栈S非空,用x返回栈顶元素","children":[],"payload":{"tag":"li","lines":"560,561"}},{"content":"ClearStack(&S): 销毁栈,释放栈S占用的存储空间","children":[],"payload":{"tag":"li","lines":"561,563"}}],"payload":{"tag":"li","lines":"554,563"}},{"content":"\n

顺序存储结构

","children":[{"content":"\n

顺序栈

","children":[{"content":"\n

定义:栈的顺序存储,利用一组地址连续的存储单元存放自栈底到栈顶的所有元素,同时附加一个用来指向当前栈顶位置的指针

","children":[],"payload":{"tag":"li","lines":"567,568"}},{"content":"\n

顺序栈S【重要,栈顶指针初始化为-1】

","children":[{"content":"\n

栈顶指针S.top

","children":[{"content":"初始时,S.top=-1","children":[],"payload":{"tag":"li","lines":"572,573"}},{"content":"栈顶元素:S.data[S.top]","children":[],"payload":{"tag":"li","lines":"573,575"}}],"payload":{"tag":"li","lines":"570,575"}},{"content":"\n

进栈操作:栈不满时,栈顶+1,再进栈

","children":[],"payload":{"tag":"li","lines":"575,576"}},{"content":"\n

出栈操作:栈非空时,取栈顶元素,栈顶-1

","children":[],"payload":{"tag":"li","lines":"576,577"}},{"content":"\n

栈满条件:S.top=MaxSize-1

","children":[],"payload":{"tag":"li","lines":"577,578"}},{"content":"\n

栈空条件:S.top=-1

","children":[],"payload":{"tag":"li","lines":"578,579"}},{"content":"\n

栈长:S.top+1

","children":[],"payload":{"tag":"li","lines":"579,580"}},{"content":"\n

当对栈的最大使用空间估计不足时,容易出现栈上溢(外溢),需要主动向用户报告反馈,避免出现错误;

","children":[],"payload":{"tag":"li","lines":"580,582"}}],"payload":{"tag":"li","lines":"568,582"}},{"content":"\n

栈顶指针初始化为0【更多是为-1】

","children":[{"content":"入栈: S.data[S.top++]=x","children":[],"payload":{"tag":"li","lines":"584,585"}},{"content":"出栈: x=S.data[--S.top]","children":[],"payload":{"tag":"li","lines":"585,586"}},{"content":"同时, 栈空、栈满条件也会有变化","children":[],"payload":{"tag":"li","lines":"586,588"}}],"payload":{"tag":"li","lines":"582,588"}},{"content":"\n

基本运算

","children":[{"content":"InitStack(&S): 初始化一个空栈S,栈顶指针初始化为-1","children":[],"payload":{"tag":"li","lines":"590,591"}},{"content":"StackEmpty(S): 判断一个栈是否为空,即:栈顶指针是否为-1,如果栈空则返回true,否则返回false","children":[],"payload":{"tag":"li","lines":"591,592"}},{"content":"Push(&S,x): 进栈,若栈未满,x进栈操作,插入到栈内成为新的栈顶元素。","children":[],"payload":{"tag":"li","lines":"592,593"}},{"content":"Pop(&S,&x): 出栈,若栈非空,出栈操作,弹出栈顶元素,用指针x进行返回。","children":[],"payload":{"tag":"li","lines":"593,594"}},{"content":"GetTop(S,&x): 读(获取)栈顶元素,若栈S非空,用x返回栈顶元素。","children":[],"payload":{"tag":"li","lines":"594,596"}}],"payload":{"tag":"li","lines":"588,596"}}],"payload":{"tag":"li","lines":"565,596"}},{"content":"\n

共享栈

","children":[{"content":"\n

定义:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个一维存储空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶则向共享空间的中间延伸

","children":[],"payload":{"tag":"li","lines":"598,599"}},{"content":"\n

基础概念

","children":[{"content":"两个栈(0、1号顺序栈)的栈顶指针都指向栈顶元素","children":[],"payload":{"tag":"li","lines":"601,602"}},{"content":"0号栈栈顶指针top=-1时,0号栈为空","children":[],"payload":{"tag":"li","lines":"602,603"}},{"content":"1号栈栈顶指针top=MaxSize时,1号栈为空","children":[],"payload":{"tag":"li","lines":"603,604"}},{"content":"当且仅当两个栈的栈顶指针相邻(top1-top0=1),可以判断共享栈栈满","children":[],"payload":{"tag":"li","lines":"604,606"}}],"payload":{"tag":"li","lines":"599,606"}},{"content":"\n

进栈【先移动指针,后赋值】

","children":[{"content":"当0号栈进栈时,0号栈栈顶指针top0先加1后赋值","children":[],"payload":{"tag":"li","lines":"608,609"}},{"content":"当1号栈进栈时,0号栈栈顶指针top1先减1后赋值","children":[],"payload":{"tag":"li","lines":"609,611"}}],"payload":{"tag":"li","lines":"606,611"}},{"content":"\n

出栈【先赋值,后移动指针】

","children":[{"content":"当0号栈进栈时,0号栈栈顶指针top0先赋值后减1","children":[],"payload":{"tag":"li","lines":"613,614"}},{"content":"当1号栈进栈时,0号栈栈顶指针top1先赋值后加1","children":[],"payload":{"tag":"li","lines":"614,616"}}],"payload":{"tag":"li","lines":"611,616"}},{"content":"\n

重要特性

","children":[{"content":"共享栈能够更有效的利用存储空间,两个栈空间进行相互调节","children":[],"payload":{"tag":"li","lines":"618,619"}},{"content":"只有当这个存储空间(即:共享空间)被占满时才会发生上溢","children":[],"payload":{"tag":"li","lines":"619,620"}},{"content":"共享栈对存取效率没有什么影响,存取数据的时间复杂度都为O(1),在栈顶操作。","children":[],"payload":{"tag":"li","lines":"620,622"}}],"payload":{"tag":"li","lines":"616,622"}}],"payload":{"tag":"li","lines":"596,622"}}],"payload":{"tag":"li","lines":"563,622"}},{"content":"\n

链式存储结构

","children":[{"content":"\n

基本概念

","children":[{"content":"链栈: 采用链式存储的栈","children":[],"payload":{"tag":"li","lines":"626,627"}},{"content":"栈满:对于链栈来说,是基于链式存储的,基本不存在栈满的情况,除非内存已经没有使用空间了","children":[],"payload":{"tag":"li","lines":"627,628"}},{"content":"栈空:对于空栈来说,链表原来的定义是头指针指向空,那么链栈的空其实就是top=NULL,链栈元素总数为0","children":[],"payload":{"tag":"li","lines":"628,629"}},{"content":"通常对于链栈来说,是不需要头结点的,当然也存在带头结点的链栈","children":[],"payload":{"tag":"li","lines":"629,631"}}],"payload":{"tag":"li","lines":"624,631"}},{"content":"\n

基础操作【基于单链表】

","children":[{"content":"\n

入栈

","children":[{"content":"如果链栈不存在,则栈满,入栈操作失败,返回false;","children":[],"payload":{"tag":"li","lines":"635,636"}},{"content":"如果链栈存在,进行单链表的结点插入操作,移动指针,结点元素赋值,再将结点压入链栈中,移动链栈栈顶指针,最后链栈元素总数+1,返回true","children":[],"payload":{"tag":"li","lines":"636,638"}}],"payload":{"tag":"li","lines":"633,638"}},{"content":"\n

出栈

","children":[{"content":"如果链栈不存在,或者为空栈,则无法进行出栈操作,返回false","children":[],"payload":{"tag":"li","lines":"640,641"}},{"content":"如果链栈满足出栈条件,则通过栈顶指针获取到链栈栈底结点,将其数据域赋值给变量e,移动栈顶指针指向待出栈元素的后继结点,同时释放待出栈元素的内存空间,链栈元素总数-1 ,出栈成功,返回true.","children":[],"payload":{"tag":"li","lines":"641,643"}}],"payload":{"tag":"li","lines":"638,643"}},{"content":"\n

基于单链表的链栈入栈、出栈操作,时间复杂度都为O(1)【重要】

","children":[],"payload":{"tag":"li","lines":"643,645"}}],"payload":{"tag":"li","lines":"631,645"}},{"content":"\n

优点

","children":[{"content":"便于多个栈共享存储空间","children":[],"payload":{"tag":"li","lines":"647,648"}},{"content":"不存在栈满上溢的情况,避免程序因溢出导致出错","children":[],"payload":{"tag":"li","lines":"648,649"}},{"content":"有效的提高存取效率","children":[],"payload":{"tag":"li","lines":"649,651"}}],"payload":{"tag":"li","lines":"645,651"}}],"payload":{"tag":"li","lines":"622,651"}}],"payload":{"tag":"h3","lines":"540,541"}},{"content":"队列【先进先出】","children":[{"content":"\n

基本概念

","children":[{"content":"队列:和栈一样,是一种操作受限制的线性表,只允许在表的一端进行插入,在表的另外一端进行删除,简称为,常记作:Queue","children":[],"payload":{"tag":"li","lines":"655,656"}},{"content":"队头:允许进行删除操作的一端,也叫做队首,常记作:Front","children":[],"payload":{"tag":"li","lines":"656,657"}},{"content":"队尾:允许进行插入操作的一端,常记作:Rear","children":[],"payload":{"tag":"li","lines":"657,658"}},{"content":"空队列:不含任何元素的空表,注意这个表是指线性表","children":[],"payload":{"tag":"li","lines":"658,659"}},{"content":"入队: 向队列中插入元素,也叫做进队","children":[],"payload":{"tag":"li","lines":"659,660"}},{"content":"出队: 删除队列元素,也叫做离队","children":[],"payload":{"tag":"li","lines":"660,662"}}],"payload":{"tag":"li","lines":"653,662"}},{"content":"\n

基础操作

","children":[{"content":"InitQueue(&Q): 初始化一个队列,构造空队列Q","children":[],"payload":{"tag":"li","lines":"664,665"}},{"content":"QueueEmpty(Q): 判断队列是否为空,队空返回true,否则返回false","children":[],"payload":{"tag":"li","lines":"665,666"}},{"content":"EnEmpty(&Q,x): 入队,如果队列Q未满,将x入队,成为新的队尾元素","children":[],"payload":{"tag":"li","lines":"666,667"}},{"content":"DeEmpty(&Q,&x): 出队,如果队列Q非空,删除队头元素,复制给x返回","children":[],"payload":{"tag":"li","lines":"667,668"}},{"content":"GetHead(Q,&x): 读取队头元素,如果队列Q非空,则将队头元素赋值给x","children":[],"payload":{"tag":"li","lines":"668,670"}}],"payload":{"tag":"li","lines":"662,670"}},{"content":"\n

顺序存储

","children":[{"content":"\n

顺序队列

","children":[{"content":"\n

队列的顺序实现是指分配一块连续的存储单元用来存放队列中的元素,并且附加两个指针

","children":[{"content":"front指针: 指向队头元素的位置","children":[],"payload":{"tag":"li","lines":"676,677"}},{"content":"rear指针: 指向队尾元素的位置","children":[],"payload":{"tag":"li","lines":"677,679"}}],"payload":{"tag":"li","lines":"674,679"}},{"content":"\n

初始状态(队空条件):Q.front=Q.rear=0

","children":[],"payload":{"tag":"li","lines":"679,680"}},{"content":"\n

入队操作:队不满时,先赋值给队尾元素,再移动队尾指针+1

","children":[],"payload":{"tag":"li","lines":"680,681"}},{"content":"\n

出队操作: 队不空时,先取队头元素值,再移动队头指针+1

","children":[],"payload":{"tag":"li","lines":"681,682"}},{"content":"\n

Q.front=Q.rear=0,那能用Q.rear==MaxSize来表示队满嘛?【不行】

","children":[],"payload":{"tag":"li","lines":"682,684"}}],"payload":{"tag":"li","lines":"672,684"}},{"content":"\n

循环队列

","children":[{"content":"\n

把顺序队列臆想为一个环状的空间,将存储队列元素的表从逻辑上看做为一个环

","children":[],"payload":{"tag":"li","lines":"686,687"}},{"content":"\n

初始时:Q.front=Q.rear=0

","children":[],"payload":{"tag":"li","lines":"687,688"}},{"content":"\n

队首指针进1: Q.front=(Q.front+1)%MaxSize

","children":[],"payload":{"tag":"li","lines":"688,689"}},{"content":"\n

队尾指针进1: Q.rear=(Q.rear+1)%MaxSize

","children":[],"payload":{"tag":"li","lines":"689,690"}},{"content":"\n

队列长度: (Q.rear+MaxSize-Q.front)%MaxSize

","children":[],"payload":{"tag":"li","lines":"690,691"}},{"content":"\n

除法取余运算(%)【解决顺序队列“上溢出”】问题

","children":[],"payload":{"tag":"li","lines":"691,692"}},{"content":"\n

如何区别队空还是队满?

","children":[{"content":"\n

方案一:牺牲一个单元来区分队空和队满

","children":[{"content":"前提:队头指针在队尾指针在队尾指针的下一个位置作为队满标志【重要】","children":[],"payload":{"tag":"li","lines":"696,697"}},{"content":"队满条件:(Q.rear+1)%MaxSize==Q.front","children":[],"payload":{"tag":"li","lines":"697,698"}},{"content":"队空条件:Q.front==Q.rear","children":[],"payload":{"tag":"li","lines":"698,699"}},{"content":"队列中元素个数:(Q.rear+MaxSize-Q.front)%MaxSize","children":[],"payload":{"tag":"li","lines":"699,701"}}],"payload":{"tag":"li","lines":"694,701"}},{"content":"\n

方案二:类型中增设表示元素个数的数据成员

","children":[{"content":"直接和MaxSize去比较","children":[],"payload":{"tag":"li","lines":"703,704"}},{"content":"队空条件: Q.count=0","children":[],"payload":{"tag":"li","lines":"704,705"}},{"content":"队满条件: Q.count=MaxSize","children":[],"payload":{"tag":"li","lines":"705,706"}},{"content":"【注意】不论是队空还是队满,对会存在Q.front=Q.rear,这个可以通过前面方案一解决","children":[],"payload":{"tag":"li","lines":"706,708"}}],"payload":{"tag":"li","lines":"701,708"}},{"content":"\n

方案三:类型中增设tag数据成员标记

","children":[{"content":"\n

通过添加tag标记的方式,区分队空还是队满

","children":[],"payload":{"tag":"li","lines":"710,711"}},{"content":"\n

tag0的情况下,如果因为删除导致Q.frontQ.rear,则队空;

","children":[],"payload":{"tag":"li","lines":"711,712"}},{"content":"\n

tag1的情况下,如果因为插入导致Q.frontQ.rear,则队满;

","children":[],"payload":{"tag":"li","lines":"712,713"}},{"content":"\n

tag的主要作用

","children":[{"content":"在有元素入队的时候,设置tag=1","children":[],"payload":{"tag":"li","lines":"715,716"}},{"content":"在有元素出队的时候,设置tag=0","children":[],"payload":{"tag":"li","lines":"716,718"}}],"payload":{"tag":"li","lines":"713,718"}}],"payload":{"tag":"li","lines":"708,718"}}],"payload":{"tag":"li","lines":"692,718"}}],"payload":{"tag":"li","lines":"684,718"}}],"payload":{"tag":"li","lines":"670,718"}},{"content":"\n

链式存储

","children":[{"content":"\n

链队列

","children":[{"content":"\n

链队列:和顺序队列一样,基于队列的链式表示叫做链队列,实际上为:一个同时带有队头指针和队尾指针的单链表

","children":[{"content":"头指针指向队头结点","children":[],"payload":{"tag":"li","lines":"724,725"}},{"content":"尾指针指向队尾结点(单链表的最后一个结点)","children":[],"payload":{"tag":"li","lines":"725,727"}}],"payload":{"tag":"li","lines":"722,727"}},{"content":"\n

不带头结点链式队列

","children":[{"content":"队空: linkQueue.frontNULL且linkQueue.rearNULL","children":[],"payload":{"tag":"li","lines":"729,730"}},{"content":"出队: 先判断队列是否为空,非空队列则取出队头元素,从链表中闪出去,队头指针Q.front指向下一个结点,如果出队的结此为尾结点,出队后队空,需要将Q.front和Q.rear都置为NULL","children":[],"payload":{"tag":"li","lines":"730,731"}},{"content":"入队: 建立一个新的结点,将新的结点插入到链表的尾部,修改队尾指针Q.rear指向新插入的结点。如果原队列为空,需要将队首指针也指向该结点","children":[],"payload":{"tag":"li","lines":"731,732"}},{"content":"【入队、出队操作,都需要考虑队空的情况下的特殊处理,不带头结点的队列导致队空队首和队尾指针都为NULL,麻烦】","children":[],"payload":{"tag":"li","lines":"732,734"}}],"payload":{"tag":"li","lines":"727,734"}},{"content":"\n

带头结点的链式队列

","children":[{"content":"【复杂的入队、出队操作就统一起来】","children":[],"payload":{"tag":"li","lines":"736,737"}},{"content":"队空:Q.front==Q.rear,都指向头结点,一般数据域可以为空","children":[],"payload":{"tag":"li","lines":"737,738"}},{"content":"出队:判断队列是否为空,队列非空则在队首移动指针,将队首指针指向下一个元素。如果队列中就一个元素,则出队后将成为空队,Q.rear==Q.front,最后释放元素内存空间。","children":[],"payload":{"tag":"li","lines":"738,739"}},{"content":"入队:将元素插入队尾,移动队尾指针,即便为空队列入队,由于队列带有头结点,此时就很好的避免操作队首指针了。","children":[],"payload":{"tag":"li","lines":"739,740"}},{"content":"子主题 5","children":[],"payload":{"tag":"li","lines":"740,742"}}],"payload":{"tag":"li","lines":"734,742"}},{"content":"\n

特别注意

","children":[{"content":"用单链表表示的链式队列非常适合频繁出队、入队、元素变化大的场景","children":[],"payload":{"tag":"li","lines":"744,745"}},{"content":"不存在队满情况,也不会出现溢出情况;","children":[],"payload":{"tag":"li","lines":"745,746"}},{"content":"链式队列不会出现存储分配不合理、“溢出”的情况,内存动态分配","children":[],"payload":{"tag":"li","lines":"746,748"}}],"payload":{"tag":"li","lines":"742,748"}},{"content":"\n

基本操作【带头结点】

","children":[{"content":"队列初始化","children":[],"payload":{"tag":"li","lines":"750,751"}},{"content":"判断队空:Q.front==Q.rear","children":[],"payload":{"tag":"li","lines":"751,752"}},{"content":"入队【重要】","children":[],"payload":{"tag":"li","lines":"752,753"}},{"content":"出队【重要】","children":[],"payload":{"tag":"li","lines":"753,755"}}],"payload":{"tag":"li","lines":"748,755"}}],"payload":{"tag":"li","lines":"720,755"}},{"content":"\n

双端队列

","children":[{"content":"\n

允许在两端都可以进行入队和出队操作的队列,元素的逻辑结构仍然是线性结构

","children":[],"payload":{"tag":"li","lines":"757,758"}},{"content":"\n

双端队列的两端分别称为前端和后端,两端都可以入队和出队

","children":[{"content":"进队:前端进的元素排列在队列中后端进的元素的前面,后端进的元素排列在队列前端进的元素后面;","children":[],"payload":{"tag":"li","lines":"760,761"}},{"content":"出队:无论是前端还是后端出队,先出的的元素排列在后出的元素的前面","children":[],"payload":{"tag":"li","lines":"761,763"}}],"payload":{"tag":"li","lines":"758,763"}},{"content":"\n

输入受限的双端队列:允许在一端进行插入和删除操作,但在另外一端只允许进行删除的双端队列

","children":[],"payload":{"tag":"li","lines":"763,764"}},{"content":"\n

输出受限的双端队列:允许在一端进行插入和删除曹组,但在另外一端只允许进行插入的双端队列

","children":[],"payload":{"tag":"li","lines":"764,766"}},{"content":"\n

如果限定双端队列从某个断点插入的元素只能从该端点删除,那么此时的双端队列就演变为两个栈底相邻的栈

","children":[],"payload":{"tag":"li","lines":"766,768"}}],"payload":{"tag":"li","lines":"755,768"}},{"content":"\n

补充

","children":[{"content":"最适合用来链队的链表是:带队首指针和队尾指针的非循环单链表","children":[],"payload":{"tag":"li","lines":"770,771"}},{"content":"栈和队列的逻辑结构都是线性表,存储结构可能是顺序的(顺序栈、顺序队列),也可能是链式的(链栈、链队)","children":[],"payload":{"tag":"li","lines":"771,772"}},{"content":"不论是顺序存储还是链式存储,栈和队列都只能进行顺序存取(本质是线性表)。数组是可以做到随机存取(本质是顺序表)","children":[],"payload":{"tag":"li","lines":"772,773"}},{"content":"队列先进先出的特性:先进队列的元素先出队列,后进队列的元素后出队列","children":[],"payload":{"tag":"li","lines":"773,775"}}],"payload":{"tag":"li","lines":"768,775"}}],"payload":{"tag":"li","lines":"718,775"}}],"payload":{"tag":"h3","lines":"651,652"}},{"content":"应用","children":[{"content":"\n

【栈】括号匹配

","children":[],"payload":{"tag":"li","lines":"777,778"}},{"content":"\n

【栈】表达式求值

","children":[],"payload":{"tag":"li","lines":"778,779"}},{"content":"\n

【栈】递归算法

","children":[{"content":"\n

定义: 如果在一个函数、过程或数据结构的定义中又应用了自身,那么这个函数、过程或者数据结构称为递归定义的,简称递归。

","children":[],"payload":{"tag":"li","lines":"781,782"}},{"content":"\n

递归通常把一个大型的复杂问题,层层转化为一个与原问题相似的规模较小的问题来求解

","children":[],"payload":{"tag":"li","lines":"782,783"}},{"content":"\n

斐波拉切数列算法优化

","children":[{"content":"使用非递归实现","children":[],"payload":{"tag":"li","lines":"785,786"}},{"content":"使用空间换效率,例如:数组","children":[],"payload":{"tag":"li","lines":"786,787"}},{"content":"使用缓存,存放数据","children":[],"payload":{"tag":"li","lines":"787,789"}}],"payload":{"tag":"li","lines":"783,789"}},{"content":"\n

必须注意递归模型不能是循环定义,
\n需要满足两个条件

","children":[{"content":"递归表达式(递归体)","children":[],"payload":{"tag":"li","lines":"792,793"}},{"content":"边界条件(递归出口),即:算法结束条件","children":[],"payload":{"tag":"li","lines":"793,795"}}],"payload":{"tag":"li","lines":"789,795"}},{"content":"\n

特点

","children":[{"content":"很大程度上减少了程序的代码量","children":[],"payload":{"tag":"li","lines":"797,798"}},{"content":"算法效率不高【重要特点】","children":[],"payload":{"tag":"li","lines":"798,799"}},{"content":"调用次数过多容易造成栈溢出","children":[],"payload":{"tag":"li","lines":"799,801"}}],"payload":{"tag":"li","lines":"795,801"}}],"payload":{"tag":"li","lines":"779,801"}},{"content":"\n

【队列】层次遍历

","children":[],"payload":{"tag":"li","lines":"801,802"}},{"content":"\n

【队列】计算机系统

","children":[{"content":"解决主机和外部设备之间速度不匹配的问题","children":[],"payload":{"tag":"li","lines":"804,805"}},{"content":"解决由多用户引起的资源竞争问题","children":[],"payload":{"tag":"li","lines":"805,807"}}],"payload":{"tag":"li","lines":"802,807"}}],"payload":{"tag":"h3","lines":"775,776"}},{"content":"特殊矩阵的压缩存储","children":[{"content":"\n

计算机图形学工程计算中占有举足轻重的地位。

","children":[],"payload":{"tag":"li","lines":"809,810"}},{"content":"\n

数组定义:由n(n≥1)个相同类型的数据元素构成的有限序列。

","children":[],"payload":{"tag":"li","lines":"810,811"}},{"content":"\n

重要概念

","children":[{"content":"【压缩存储】多个值相同的元素只分配一个存储空间,对零元素不分配存储空间---->节省存储空间。","children":[],"payload":{"tag":"li","lines":"813,814"}},{"content":"【特殊矩阵】具有很多相同矩阵元素或零元素,并且这些相同矩阵元素或零元素的分布有一定规律性的矩阵。","children":[],"payload":{"tag":"li","lines":"814,815"}},{"content":"【稀疏矩阵】矩阵元素个数s相对于矩阵中非零元素的个数t来说非常多、差距非常大,即s>>t的矩阵可以叫稀疏矩阵","children":[],"payload":{"tag":"li","lines":"815,817"}}],"payload":{"tag":"li","lines":"811,817"}},{"content":"\n

常见的特殊矩阵

","children":[{"content":"对称矩阵","children":[],"payload":{"tag":"li","lines":"819,820"}},{"content":"上、下三角矩阵","children":[],"payload":{"tag":"li","lines":"820,821"}},{"content":"对角矩阵(带状矩阵)","children":[],"payload":{"tag":"li","lines":"821,822"}},{"content":"......","children":[],"payload":{"tag":"li","lines":"822,824"}}],"payload":{"tag":"li","lines":"817,824"}},{"content":"\n

注意

","children":[{"content":"常规方法来存储稀疏矩阵,会想当浪费存储空间,所以稀疏矩阵只需要存储非零元素","children":[],"payload":{"tag":"li","lines":"826,827"}},{"content":"通常非零元素的分布是没有规律的,除了存储非零元素外,还需要存储元素所在位置的行和列","children":[],"payload":{"tag":"li","lines":"827,828"}},{"content":"寻相互存储三元组 <行标,列表,值>","children":[],"payload":{"tag":"li","lines":"828,829"}},{"content":"三元组的结点存储了行标(row)、列表(col)、值(value)三种信息,是主要用来存储稀疏矩阵的一种数据结构","children":[],"payload":{"tag":"li","lines":"829,831"}}],"payload":{"tag":"li","lines":"824,831"}},{"content":"\n

数组和线性表的关系

","children":[{"content":"数组是线性表的推广","children":[],"payload":{"tag":"li","lines":"833,834"}},{"content":"数组一旦被定义,维数和维界就不再改变","children":[],"payload":{"tag":"li","lines":"834,835"}},{"content":"除了结构的初始化和销毁外,数组只会有存取元素和修改元素的操作","children":[],"payload":{"tag":"li","lines":"835,837"}}],"payload":{"tag":"li","lines":"831,837"}},{"content":"\n

数组的存储结构

","children":[{"content":"按行优先","children":[],"payload":{"tag":"li","lines":"839,840"}},{"content":"按列优先","children":[],"payload":{"tag":"li","lines":"840,842"}}],"payload":{"tag":"li","lines":"837,842"}}],"payload":{"tag":"h3","lines":"807,808"}}],"payload":{"tag":"h2","lines":"538,539"}},{"content":"树与二叉树","children":[{"content":"树","children":[{"content":"\n

定义

","children":[],"payload":{"tag":"li","lines":"846,847"}},{"content":"\n

术语

","children":[{"content":"\n

结点

","children":[{"content":"祖先结点","children":[],"payload":{"tag":"li","lines":"851,852"}},{"content":"父子结点","children":[],"payload":{"tag":"li","lines":"852,853"}},{"content":"兄弟结点","children":[],"payload":{"tag":"li","lines":"853,854"}},{"content":"孩子结点","children":[],"payload":{"tag":"li","lines":"854,855"}},{"content":"子孙结点","children":[],"payload":{"tag":"li","lines":"855,856"}},{"content":"分支结点","children":[],"payload":{"tag":"li","lines":"856,857"}},{"content":"叶子结点(终端结点)","children":[],"payload":{"tag":"li","lines":"857,859"}}],"payload":{"tag":"li","lines":"849,859"}},{"content":"\n

","children":[{"content":"结点的度","children":[],"payload":{"tag":"li","lines":"861,862"}},{"content":"树的度","children":[],"payload":{"tag":"li","lines":"862,864"}}],"payload":{"tag":"li","lines":"859,864"}},{"content":"\n

结点的深度、高度、层次

","children":[],"payload":{"tag":"li","lines":"864,865"}},{"content":"\n

有序树和无序树

","children":[],"payload":{"tag":"li","lines":"865,866"}},{"content":"\n

路径和路径长度

","children":[],"payload":{"tag":"li","lines":"866,867"}},{"content":"\n

森林

","children":[],"payload":{"tag":"li","lines":"867,869"}}],"payload":{"tag":"li","lines":"847,869"}},{"content":"\n

性质

","children":[],"payload":{"tag":"li","lines":"869,871"}}],"payload":{"tag":"h3","lines":"844,845"}},{"content":"二叉树","children":[{"content":"定义和特性","children":[],"payload":{"tag":"li","lines":"873,874"}},{"content":"存储结构","children":[],"payload":{"tag":"li","lines":"874,875"}},{"content":"二叉树遍历","children":[],"payload":{"tag":"li","lines":"875,876"}},{"content":"线索二叉树","children":[],"payload":{"tag":"li","lines":"876,878"}}],"payload":{"tag":"h3","lines":"871,872"}},{"content":"树和森林","children":[{"content":"存储结构","children":[],"payload":{"tag":"li","lines":"880,881"}},{"content":"树、森林与二叉树转换","children":[],"payload":{"tag":"li","lines":"881,882"}},{"content":"遍历","children":[],"payload":{"tag":"li","lines":"882,883"}},{"content":"并查集应用","children":[],"payload":{"tag":"li","lines":"883,885"}}],"payload":{"tag":"h3","lines":"878,879"}},{"content":"应用","children":[{"content":"二叉排序树","children":[],"payload":{"tag":"li","lines":"887,888"}},{"content":"平衡二叉树","children":[],"payload":{"tag":"li","lines":"888,889"}},{"content":"哈夫曼树","children":[],"payload":{"tag":"li","lines":"889,890"}},{"content":"哈夫曼编码","children":[],"payload":{"tag":"li","lines":"890,892"}}],"payload":{"tag":"h3","lines":"885,886"}}],"payload":{"tag":"h2","lines":"842,843"}},{"content":"图论","children":[{"content":"定义","children":[],"payload":{"tag":"h3","lines":"894,895"}},{"content":"基本操作","children":[{"content":"Adjacent(G,x,y)","children":[],"payload":{"tag":"li","lines":"898,899"}},{"content":"Neighbors(G,x)","children":[],"payload":{"tag":"li","lines":"899,900"}},{"content":"InsertVertex(G,x)","children":[],"payload":{"tag":"li","lines":"900,901"}},{"content":"DeleteVertex(G,x)","children":[],"payload":{"tag":"li","lines":"901,902"}},{"content":"AddEdge(G,x,y)","children":[],"payload":{"tag":"li","lines":"902,903"}},{"content":"RemoveEdge(G,x,y)","children":[],"payload":{"tag":"li","lines":"903,904"}},{"content":"FirstNeighbor(G,x)","children":[],"payload":{"tag":"li","lines":"904,905"}},{"content":"NextNeighbor(G,x,y)","children":[],"payload":{"tag":"li","lines":"905,906"}},{"content":"Get_edge_value(G,x,y)","children":[],"payload":{"tag":"li","lines":"906,907"}},{"content":"Set_edge_value(G,x,y,v)","children":[],"payload":{"tag":"li","lines":"907,909"}}],"payload":{"tag":"h3","lines":"896,897"}},{"content":"存储及操作","children":[{"content":"邻接矩阵法","children":[],"payload":{"tag":"li","lines":"911,912"}},{"content":"邻接链表法","children":[],"payload":{"tag":"li","lines":"912,913"}},{"content":"十字链表","children":[],"payload":{"tag":"li","lines":"913,914"}},{"content":"邻接多重表","children":[],"payload":{"tag":"li","lines":"914,916"}}],"payload":{"tag":"h3","lines":"909,910"}},{"content":"图的遍历","children":[{"content":"广度优先搜索(BFS)","children":[],"payload":{"tag":"li","lines":"918,919"}},{"content":"深度优先搜索(DFS)","children":[],"payload":{"tag":"li","lines":"919,920"}},{"content":"连通性","children":[],"payload":{"tag":"li","lines":"920,922"}}],"payload":{"tag":"h3","lines":"916,917"}},{"content":"图的应用","children":[{"content":"最小生成树(MST)","children":[],"payload":{"tag":"li","lines":"924,925"}},{"content":"最短路径","children":[],"payload":{"tag":"li","lines":"925,926"}},{"content":"拓扑排序","children":[],"payload":{"tag":"li","lines":"926,927"}},{"content":"关键路劲","children":[],"payload":{"tag":"li","lines":"927,929"}}],"payload":{"tag":"h3","lines":"922,923"}}],"payload":{"tag":"h2","lines":"892,893"}},{"content":"查找","children":[{"content":"基本概念","children":[{"content":"\n

查找:在数据集合中寻找满足某种条件的数据元素的过程

","children":[],"payload":{"tag":"li","lines":"933,934"}},{"content":"\n

查找表(查找结构):用于查找的数据集合

","children":[{"content":"\n

数据元素(记录)的类型相同

","children":[],"payload":{"tag":"li","lines":"936,937"}},{"content":"\n

可以是一个数组或者链表等数据类型

","children":[],"payload":{"tag":"li","lines":"937,938"}},{"content":"\n

常见操作

","children":[{"content":"查询某个特定元素是否存在","children":[],"payload":{"tag":"li","lines":"940,941"}},{"content":"检索满足条件的特定元素的各种属性","children":[],"payload":{"tag":"li","lines":"941,942"}},{"content":"数据元素插入","children":[],"payload":{"tag":"li","lines":"942,943"}},{"content":"数据元素删除","children":[],"payload":{"tag":"li","lines":"943,945"}}],"payload":{"tag":"li","lines":"938,945"}}],"payload":{"tag":"li","lines":"934,945"}},{"content":"\n

静态查找表:不需要动态地修改查找表,与动态查找表对应

","children":[{"content":"顺序查找","children":[],"payload":{"tag":"li","lines":"947,948"}},{"content":"折半查找","children":[],"payload":{"tag":"li","lines":"948,949"}},{"content":"散列查找","children":[],"payload":{"tag":"li","lines":"949,950"}},{"content":"....","children":[],"payload":{"tag":"li","lines":"950,952"}}],"payload":{"tag":"li","lines":"945,952"}},{"content":"\n

动态查找表:需要动态地插入或者删除的查找表

","children":[{"content":"二叉排序树的查找","children":[],"payload":{"tag":"li","lines":"954,955"}},{"content":"散列查找","children":[],"payload":{"tag":"li","lines":"955,956"}},{"content":"....","children":[],"payload":{"tag":"li","lines":"956,958"}}],"payload":{"tag":"li","lines":"952,958"}},{"content":"\n

关键字:数据元素中唯一标识该元素的某个数据项的值

","children":[{"content":"使用关键字查找,查找结果应该是【唯一的】","children":[],"payload":{"tag":"li","lines":"960,961"}},{"content":"可以类比集合中不重复的key","children":[],"payload":{"tag":"li","lines":"961,962"}},{"content":"是不是想起了数据库的主键的概念????","children":[],"payload":{"tag":"li","lines":"962,964"}}],"payload":{"tag":"li","lines":"958,964"}},{"content":"\n

平均查找长度:所有查找过程中进行关键字的比较次数的平均值

","children":[{"content":"查找长度:一次查找需要比较的关键字次数","children":[],"payload":{"tag":"li","lines":"966,967"}},{"content":"【是衡量查找算法效率的最主要的指标】","children":[],"payload":{"tag":"li","lines":"967,969"}}],"payload":{"tag":"li","lines":"964,969"}}],"payload":{"tag":"h3","lines":"931,932"}},{"content":"顺序查找(线性查找)","children":[{"content":"\n

主要用于在线性表中进行查找

","children":[{"content":"一般的【无序线性表】的顺序查找","children":[],"payload":{"tag":"li","lines":"973,974"}},{"content":"按关键字【有序的顺序表】的顺序查找","children":[],"payload":{"tag":"li","lines":"974,975"}},{"content":"Tips:顺序表是指顺序存储的线性表,前面的有序才强调元素有序,顺序强调的是存储方式","children":[],"payload":{"tag":"li","lines":"975,977"}}],"payload":{"tag":"li","lines":"971,977"}},{"content":"\n

基于一般线性表的顺序查找

","children":[{"content":"\n

最直观的查找方式

","children":[],"payload":{"tag":"li","lines":"979,980"}},{"content":"\n

基本思想:从线性表的一端开始,逐个查询条件和关键字进行比对即可

","children":[],"payload":{"tag":"li","lines":"980,981"}},{"content":"\n

【重要】:哨兵的引入,可以避免很多不必要的判断语句,提高程序的效率

","children":[],"payload":{"tag":"li","lines":"981,982"}},{"content":"\n

平均查找长度

","children":[{"content":"\n

查找成功

","children":[{"content":"第i个元素需要进行(n-i+1)次关键字比较","children":[],"payload":{"tag":"li","lines":"986,987"}},{"content":"概率相等的情况下:(n+1)/2","children":[],"payload":{"tag":"li","lines":"987,989"}}],"payload":{"tag":"li","lines":"984,989"}},{"content":"\n

查找失败【没有找到元素】

","children":[{"content":"各关键字比较次数:(n+1)","children":[],"payload":{"tag":"li","lines":"991,992"}},{"content":"平均查找长度:(n+1)","children":[],"payload":{"tag":"li","lines":"992,994"}}],"payload":{"tag":"li","lines":"989,994"}}],"payload":{"tag":"li","lines":"982,994"}},{"content":"\n

综合分析

","children":[{"content":"【缺点】:n较大时,平均查找长度较大,效率低","children":[],"payload":{"tag":"li","lines":"996,997"}},{"content":"【优点】:对数据元素的存储没有要求,顺序存储和链式存储都可行。对数据元素的有序性也没有要求","children":[],"payload":{"tag":"li","lines":"997,998"}},{"content":"【注意】:线性的链表只能进行顺序查找","children":[],"payload":{"tag":"li","lines":"998,1000"}}],"payload":{"tag":"li","lines":"994,1000"}},{"content":"\n

通常情况下,查找表中记录的查找概率并不相等

","children":[],"payload":{"tag":"li","lines":"1000,1002"}}],"payload":{"tag":"li","lines":"977,1002"}},{"content":"\n

基于有序表的顺序查找

","children":[{"content":"\n

预先已经知道表是按照关键字有序的,基于【二叉判定树】来查找,不用全部遍历----->【降低顺序查找失败的平均查找长度】

","children":[],"payload":{"tag":"li","lines":"1004,1005"}},{"content":"\n

平均查找长度

","children":[{"content":"\n

查找成功

","children":[{"content":"和一般线性表的顺序查找一样","children":[],"payload":{"tag":"li","lines":"1009,1010"}},{"content":"概率相等的情况下:(n+1)/2","children":[],"payload":{"tag":"li","lines":"1010,1012"}}],"payload":{"tag":"li","lines":"1007,1012"}},{"content":"\n

查找失败

","children":[{"content":"到达是失败结点所查找的长度=失败结点父结点所在的层数【建议画画二叉判定树】","children":[],"payload":{"tag":"li","lines":"1014,1015"}},{"content":"查找概率相等时,平均查找长度:n/2 + n/(n+1)","children":[],"payload":{"tag":"li","lines":"1015,1017"}}],"payload":{"tag":"li","lines":"1012,1017"}}],"payload":{"tag":"li","lines":"1005,1017"}},{"content":"\n

【注意】:有序表的顺序查找中的线性表可以是链式存储结构的

","children":[],"payload":{"tag":"li","lines":"1017,1019"}}],"payload":{"tag":"li","lines":"1002,1019"}}],"payload":{"tag":"h3","lines":"969,970"}},{"content":"折半查找(二分查找)","children":[{"content":"\n

【注意】仅仅适用于有序的顺序表

","children":[],"payload":{"tag":"li","lines":"1021,1022"}},{"content":"\n

基本思想:首先与表中间位置元素的关键字比较,相等则查找成功,不相等则向左|向右继续与该部分中间元素比较......

","children":[],"payload":{"tag":"li","lines":"1022,1023"}},{"content":"\n

核心思路:左右双指针,互相往中间靠拢,可以用二叉判定树来辅助思考

","children":[],"payload":{"tag":"li","lines":"1023,1024"}},{"content":"\n

平均查找长度【计算非常重要】

","children":[{"content":"\n

查找成功

","children":[{"content":"折半查找法查到给定值的比较次数最多不会超过【判定树】的高度","children":[],"payload":{"tag":"li","lines":"1028,1029"}},{"content":"相等概率下,平均查找长度约等于log2(n+1) -1 ,【建议结合二叉树高度计算来理解】","children":[],"payload":{"tag":"li","lines":"1029,1031"}}],"payload":{"tag":"li","lines":"1026,1031"}},{"content":"\n

查找失败直接看例题.....

","children":[],"payload":{"tag":"li","lines":"1031,1033"}}],"payload":{"tag":"li","lines":"1024,1033"}},{"content":"\n

综合分析

","children":[{"content":"折半查找的时间复杂度为O(log2n), 平均情况下笔顺序查找O(n)的效率高","children":[],"payload":{"tag":"li","lines":"1035,1036"}},{"content":"折半查找需要方便地定位查找区域---->存储结构必须具有【随机存取】的特性","children":[],"payload":{"tag":"li","lines":"1036,1037"}},{"content":"【注意】仅仅适用于有序的顺序表,不适用链式存储结构,要求表按关键字有序排列","children":[],"payload":{"tag":"li","lines":"1037,1039"}}],"payload":{"tag":"li","lines":"1033,1039"}}],"payload":{"tag":"h3","lines":"1019,1020"}},{"content":"分块查找(索引顺序查找)","children":[{"content":"\n

具备顺序查找和折半查找的优点,既有动态结构,又能适用于快速查找

","children":[],"payload":{"tag":"li","lines":"1041,1042"}},{"content":"\n

是不是有点【希尔排序】和【直接插入排序、折半插入排序】的发展效果?????

","children":[],"payload":{"tag":"li","lines":"1042,1043"}},{"content":"\n

基本思想:查找表分成若干个子块

","children":[{"content":"块内元素可以无序,【块之间必须有序】","children":[],"payload":{"tag":"li","lines":"1045,1046"}},{"content":"前一块的最大关键字永远小于后一块的最小关键字","children":[],"payload":{"tag":"li","lines":"1046,1047"}},{"content":"【重要】:建立索引表,包含每个分块额最大关键字和第一个元素的地址(起始角标)","children":[],"payload":{"tag":"li","lines":"1047,1048"}},{"content":"索引表按关键字有序排列","children":[],"payload":{"tag":"li","lines":"1048,1050"}}],"payload":{"tag":"li","lines":"1043,1050"}},{"content":"\n

查找方式

","children":[{"content":"索引表:顺序查找或者折半查找","children":[],"payload":{"tag":"li","lines":"1052,1053"}},{"content":"块内:顺序查找<----- 块内可以无序","children":[],"payload":{"tag":"li","lines":"1053,1055"}}],"payload":{"tag":"li","lines":"1050,1055"}},{"content":"\n

【直接看书】平均查找长度=索引查找平均长度+块内查找的平均长度

","children":[],"payload":{"tag":"li","lines":"1055,1057"}}],"payload":{"tag":"h3","lines":"1039,1040"}},{"content":"【直接看书|视频,这部分我很迷糊】B树和B+树","children":[{"content":"\n

B树(多路平衡查找树)

","children":[{"content":"\n

基础概念

","children":[{"content":"\n

阶:所有结点的孩子结点数的最大值

","children":[],"payload":{"tag":"li","lines":"1063,1064"}},{"content":"\n

m阶B树(可能为空树)满足

","children":[{"content":"树中每个结点至多有m棵子树(即至多包含m-1个关键字)","children":[],"payload":{"tag":"li","lines":"1066,1067"}},{"content":"如果根结点不是终端结点,至少有两棵子树","children":[],"payload":{"tag":"li","lines":"1067,1068"}},{"content":"所有的叶结点都出现在同一个层次上,不带任何信息","children":[],"payload":{"tag":"li","lines":"1068,1069"}},{"content":"....","children":[],"payload":{"tag":"li","lines":"1069,1071"}}],"payload":{"tag":"li","lines":"1064,1071"}},{"content":"\n

B树是所有结点的平衡因子均为0的多路查找树

","children":[],"payload":{"tag":"li","lines":"1071,1073"}}],"payload":{"tag":"li","lines":"1061,1073"}},{"content":"\n

基本操作

","children":[{"content":"\n

高度

","children":[{"content":"B树的大部分操作需要的磁盘存取次数和B树的高度成正比","children":[],"payload":{"tag":"li","lines":"1077,1078"}},{"content":"B树的高度不包括最后的不带任何信息的叶结点所处的那一层【有的参考书,也包含这部分】","children":[],"payload":{"tag":"li","lines":"1078,1079"}},{"content":"【重要】如果每个结点重点额关键字个数达到最少,则容纳同样多关键字的B树的高度可以达到最大","children":[],"payload":{"tag":"li","lines":"1079,1080"}},{"content":"....","children":[],"payload":{"tag":"li","lines":"1080,1082"}}],"payload":{"tag":"li","lines":"1075,1082"}},{"content":"\n

查找

","children":[{"content":"\n

步骤

","children":[{"content":"在B树中找结点【磁盘中进行】","children":[],"payload":{"tag":"li","lines":"1086,1087"}},{"content":"在结点内找关键字【内存中进行】----> 采用【顺序查找法】或【折半查找法】","children":[],"payload":{"tag":"li","lines":"1087,1088"}},{"content":"【Tips】B树常存储在磁盘上,在磁盘上找到目标节点后,将结点中的信息读入到内存","children":[],"payload":{"tag":"li","lines":"1088,1090"}}],"payload":{"tag":"li","lines":"1084,1090"}},{"content":"\n

当查找到叶子结点,对应的指针为空指针,即树中没有对应的关键字

","children":[],"payload":{"tag":"li","lines":"1090,1092"}}],"payload":{"tag":"li","lines":"1082,1092"}},{"content":"\n

插入

","children":[{"content":"\n

插入操作比查找操作复杂多

","children":[],"payload":{"tag":"li","lines":"1094,1095"}},{"content":"\n

步骤

","children":[{"content":"\n

定位

","children":[{"content":"B树查找算法--->最底层中某个非叶结点","children":[],"payload":{"tag":"li","lines":"1099,1100"}},{"content":"【重要】B树的插入关键字一定是插入到最底层的某个非叶结点内","children":[],"payload":{"tag":"li","lines":"1100,1102"}}],"payload":{"tag":"li","lines":"1097,1102"}},{"content":"\n

插入

","children":[{"content":"插入结点关键字个数小于m----> 直接插入","children":[],"payload":{"tag":"li","lines":"1104,1105"}},{"content":"插入后检查插入结点内关键字个数,【大于m-1必须进行分裂】","children":[],"payload":{"tag":"li","lines":"1105,1107"}}],"payload":{"tag":"li","lines":"1102,1107"}},{"content":"\n

【直接看书】】注意分裂的方法

","children":[],"payload":{"tag":"li","lines":"1107,1109"}}],"payload":{"tag":"li","lines":"1095,1109"}}],"payload":{"tag":"li","lines":"1092,1109"}},{"content":"\n

删除(删除的关键字在终端结点)

","children":[{"content":"直接删除关键字","children":[],"payload":{"tag":"li","lines":"1111,1112"}},{"content":"兄弟够借","children":[],"payload":{"tag":"li","lines":"1112,1113"}},{"content":"兄弟不够借","children":[],"payload":{"tag":"li","lines":"1113,1115"}}],"payload":{"tag":"li","lines":"1109,1115"}}],"payload":{"tag":"li","lines":"1073,1115"}}],"payload":{"tag":"li","lines":"1059,1115"}},{"content":"\n

B+树的概念

","children":[{"content":"\n

B+树是根据数据库的需要需要的一中B树的变形树

","children":[],"payload":{"tag":"li","lines":"1117,1118"}},{"content":"\n

m阶的B+树需要满足的条件

","children":[{"content":"\n

每个分支结点最多有m棵子树(子结点)

","children":[],"payload":{"tag":"li","lines":"1120,1121"}},{"content":"\n

结点的字树个数与关键字相等

","children":[],"payload":{"tag":"li","lines":"1121,1122"}},{"content":"\n

非叶、根结点至少有两棵子树,其他分支结点至少有m/2(向上取整)棵子树

","children":[],"payload":{"tag":"li","lines":"1122,1123"}},{"content":"\n

所有叶结点包含全部关键字及指向相应记录的指针

","children":[{"content":"叶结点按关键字大小排列","children":[],"payload":{"tag":"li","lines":"1125,1126"}},{"content":"相邻结点按大小顺序相互链接起来","children":[],"payload":{"tag":"li","lines":"1126,1128"}}],"payload":{"tag":"li","lines":"1123,1128"}},{"content":"\n

【反复理解】所有的分支结点(理解为索引的索引)中仅仅包含它的各个子结点(下一级的索引快)中关键字的最大值和指向其子结点的指针

","children":[],"payload":{"tag":"li","lines":"1128,1129"}},{"content":"\n

....

","children":[],"payload":{"tag":"li","lines":"1129,1131"}}],"payload":{"tag":"li","lines":"1118,1131"}}],"payload":{"tag":"li","lines":"1115,1131"}}],"payload":{"tag":"h3","lines":"1057,1058"}},{"content":"散列(Hash)表","children":[{"content":"\n

基本概念

","children":[{"content":"散列函数:一个把查找表中的关键字映射成该关键字对应的地址(数组下标、索引、内存地址等)的函数","children":[],"payload":{"tag":"li","lines":"1135,1136"}},{"content":"散列冲突:散列函数把两个或者多个不同关键字映射到同一个地址上,【冲突总是不可避免的】","children":[],"payload":{"tag":"li","lines":"1136,1137"}},{"content":"同义词:发生散列冲突(碰撞)的不同关键字","children":[],"payload":{"tag":"li","lines":"1137,1138"}},{"content":"散列表:根据关键字直接访问的数据结构,是关键字和存储地址之间的一种直接映射关系","children":[],"payload":{"tag":"li","lines":"1138,1139"}},{"content":"理想情况下,散列表中查找时间复杂度为O(1),与元素个数无关","children":[],"payload":{"tag":"li","lines":"1139,1140"}},{"content":"基于【比较】的查找算法,查找效率取决于比较的次数","children":[],"payload":{"tag":"li","lines":"1140,1141"}},{"content":"以上可以结合哈希加密、布隆过滤器等工作中的编程概念去比对学习....","children":[],"payload":{"tag":"li","lines":"1141,1143"}}],"payload":{"tag":"li","lines":"1133,1143"}},{"content":"\n

散列函数

","children":[{"content":"\n

构造散列函数,需要注意

","children":[{"content":"散列函数的定义域【必须】要包含全部需要存储的关键字,值域的范围则依赖于散列表的大小或地址范围","children":[],"payload":{"tag":"li","lines":"1147,1148"}},{"content":"散列函数计算出来的地址应该能【等概率、均匀的】分布在整个存储空间,尽可能减少散列冲突---> 【压测】","children":[],"payload":{"tag":"li","lines":"1148,1149"}},{"content":"散列函数应该尽量简单,能够在较短时间内就计算出任一关键字对应的散列地址","children":[],"payload":{"tag":"li","lines":"1149,1151"}}],"payload":{"tag":"li","lines":"1145,1151"}},{"content":"\n

常用散列函数

","children":[{"content":"\n

直接定址法

","children":[{"content":"\n

直接去关键字的某个【线性函数值】为散列函数

","children":[],"payload":{"tag":"li","lines":"1155,1156"}},{"content":"\n

优点

","children":[{"content":"计算简单","children":[],"payload":{"tag":"li","lines":"1158,1159"}},{"content":"【不会产生冲突】","children":[],"payload":{"tag":"li","lines":"1159,1160"}},{"content":"适合关键字的分布【基本连续】的情况","children":[],"payload":{"tag":"li","lines":"1160,1162"}}],"payload":{"tag":"li","lines":"1156,1162"}},{"content":"\n

缺点:关键字分布不连续时,空位较多,将造成存储空间的浪费

","children":[],"payload":{"tag":"li","lines":"1162,1164"}}],"payload":{"tag":"li","lines":"1153,1164"}},{"content":"\n

除留余数法

","children":[{"content":"最简单、最常用的散列方法","children":[],"payload":{"tag":"li","lines":"1166,1167"}},{"content":"关键在于【选择被除数P】,等概率进行映射,尽可能减少冲突的可能性","children":[],"payload":{"tag":"li","lines":"1167,1169"}}],"payload":{"tag":"li","lines":"1164,1169"}},{"content":"\n

数字分析法

","children":[{"content":"适用于已知的关键字集合","children":[],"payload":{"tag":"li","lines":"1171,1172"}},{"content":"如果更换了关键字,就需要重新构造新的散列函数","children":[],"payload":{"tag":"li","lines":"1172,1174"}}],"payload":{"tag":"li","lines":"1169,1174"}},{"content":"\n

平方取中法

","children":[{"content":"取关键字的平方值的中间几位来作为散列地址","children":[],"payload":{"tag":"li","lines":"1176,1177"}},{"content":"适用于关键字的每一位取值都不够均匀或小于散列地址所需要的位数","children":[],"payload":{"tag":"li","lines":"1177,1179"}}],"payload":{"tag":"li","lines":"1174,1179"}},{"content":"\n

折叠法

","children":[{"content":"将关键字分割成位数相同的几部分,取这几部分的叠加作为散列地址","children":[],"payload":{"tag":"li","lines":"1181,1182"}},{"content":"关键字位数很多,每一位上数字分布大致均匀时,可以采用折叠法得到散列地址","children":[],"payload":{"tag":"li","lines":"1182,1184"}}],"payload":{"tag":"li","lines":"1179,1184"}},{"content":"\n

.....

","children":[],"payload":{"tag":"li","lines":"1184,1186"}}],"payload":{"tag":"li","lines":"1151,1186"}},{"content":"\n

不同的情况,不同的散列函数会发挥不同的性能,无法笼统的说那种散列函数最好。散列函数的目标都是为了将产生冲突的可能性尽可能地降低

","children":[],"payload":{"tag":"li","lines":"1186,1188"}}],"payload":{"tag":"li","lines":"1143,1188"}},{"content":"\n

处理冲突

","children":[{"content":"\n

【任何设计出来的散列函数都不可能绝对地避免冲突】,必须考虑在发生冲突时如何进行处理

","children":[],"payload":{"tag":"li","lines":"1190,1191"}},{"content":"\n

处理方法

","children":[{"content":"\n

开放定址法

","children":[{"content":"\n

概念:可以存放新表项的空闲地址,既向它的同义词表项开放,也向它的非同义词表项开放

","children":[],"payload":{"tag":"li","lines":"1195,1196"}},{"content":"\n

增量取值方法

","children":[{"content":"线性探测法","children":[],"payload":{"tag":"li","lines":"1198,1199"}},{"content":"平方探测法","children":[],"payload":{"tag":"li","lines":"1199,1200"}},{"content":"再散列法(双散列法)","children":[],"payload":{"tag":"li","lines":"1200,1201"}},{"content":"伪随机序列法","children":[],"payload":{"tag":"li","lines":"1201,1203"}}],"payload":{"tag":"li","lines":"1196,1203"}},{"content":"\n

注意事项

","children":[{"content":"不能随便【物理删除】表中已有元素,删除将会截断具有相同散列地址元素的查找地址,牵涉元素广","children":[],"payload":{"tag":"li","lines":"1205,1206"}},{"content":"删除元素需要【单独做标记】,采用【逻辑删除】","children":[],"payload":{"tag":"li","lines":"1206,1207"}},{"content":"逻辑删除会导致散列表表面上看上满的,实际上很多位置都是没有被利用的,【需要定期维护,将删除标记的\b元素物理删除】","children":[],"payload":{"tag":"li","lines":"1207,1209"}}],"payload":{"tag":"li","lines":"1203,1209"}}],"payload":{"tag":"li","lines":"1193,1209"}},{"content":"\n

拉链(链接)法

","children":[{"content":"概念:为避免非同义词发生冲突,可以把所有的同义词存储在一个线性链表中【由散列地址唯一标识】","children":[],"payload":{"tag":"li","lines":"1211,1212"}},{"content":"【重要】适用于经常进行插入和删除的情况","children":[],"payload":{"tag":"li","lines":"1212,1214"}}],"payload":{"tag":"li","lines":"1209,1214"}},{"content":"\n

拉链法处理冲突时不存在聚集现象,用线性探测法处理冲突时容易产生聚集现象

","children":[],"payload":{"tag":"li","lines":"1214,1216"}}],"payload":{"tag":"li","lines":"1191,1216"}}],"payload":{"tag":"li","lines":"1188,1216"}},{"content":"\n

性能分析

","children":[{"content":"\n

装填因子:一个表的装满程度 =(表中的记录数)/ (散列表的长度)

","children":[],"payload":{"tag":"li","lines":"1218,1219"}},{"content":"\n

查找效率取决于

","children":[{"content":"散列函数","children":[],"payload":{"tag":"li","lines":"1221,1222"}},{"content":"处理冲突的方法","children":[],"payload":{"tag":"li","lines":"1222,1223"}},{"content":"【重要】装填因子","children":[],"payload":{"tag":"li","lines":"1223,1225"}}],"payload":{"tag":"li","lines":"1219,1225"}},{"content":"\n

散列表的平均查找长度依赖于【散列表的填装因子】

","children":[],"payload":{"tag":"li","lines":"1225,1226"}},{"content":"\n

填装因子越大,表示装填的越“满”,发生冲突的可能性就越大

","children":[],"payload":{"tag":"li","lines":"1226,1227"}},{"content":"\n

散列冲突导致散列表在查找过程中也是需要进行比较的。【查找效率仍然用平均查找长度来度量】

","children":[],"payload":{"tag":"li","lines":"1227,1228"}},{"content":"\n

冲突的产生概率与装填因子(表中记录数和表长)的大小成正比

","children":[],"payload":{"tag":"li","lines":"1228,1230"}}],"payload":{"tag":"li","lines":"1216,1230"}}],"payload":{"tag":"h3","lines":"1131,1132"}},{"content":"模式匹配(字符串)","children":[{"content":"\n

简单模式匹配

","children":[{"content":"概念:第一个字符串(模式串)在第二串(主串)中的位置","children":[],"payload":{"tag":"li","lines":"1234,1235"}},{"content":"基本过程:从主串指定字符开始(一般第一个)和模式串的第一个字符逐个比较....","children":[],"payload":{"tag":"li","lines":"1235,1236"}},{"content":"时间复杂度:O(n*m),n、m分别为主串和模式串的长度","children":[],"payload":{"tag":"li","lines":"1236,1238"}}],"payload":{"tag":"li","lines":"1232,1238"}},{"content":"\n

【难点,直接看代码理解】KMP算法

","children":[{"content":"\n

【重要】是对简单模式匹配的改造,时间复杂度在O(n+m)的数量集上

","children":[],"payload":{"tag":"li","lines":"1240,1241"}},{"content":"\n

【建议手动模拟】基本过程

","children":[{"content":"整个匹配过程,没有进行指针回溯","children":[],"payload":{"tag":"li","lines":"1243,1244"}},{"content":"每趟比较过程让子串向后滑动到一个合适位置, 让这个位置上的字符和主串中的那个字符比较","children":[],"payload":{"tag":"li","lines":"1244,1245"}},{"content":"【重要】next数组的求解实际是对某个位置找到最长的公共前缀","children":[],"payload":{"tag":"li","lines":"1245,1247"}}],"payload":{"tag":"li","lines":"1241,1247"}}],"payload":{"tag":"li","lines":"1238,1247"}},{"content":"\n

总结比较

","children":[{"content":"简单模式匹配时间复杂度:O(n*m)","children":[],"payload":{"tag":"li","lines":"1249,1250"}},{"content":"KMP算法的时间复杂度为O(n+m)","children":[],"payload":{"tag":"li","lines":"1250,1251"}},{"content":"一般情况下,简单模式匹配的实际执行时间可以近似到O(n+m)","children":[],"payload":{"tag":"li","lines":"1251,1252"}},{"content":"【重要】KMP算法的重要特点是主串指针不回溯","children":[],"payload":{"tag":"li","lines":"1252,1254"}}],"payload":{"tag":"li","lines":"1247,1254"}}],"payload":{"tag":"h3","lines":"1230,1231"}}],"payload":{"tag":"h2","lines":"929,930"}},{"content":"排序","children":[{"content":"基本概念和定义","children":[{"content":"\n

排序:重新排列表中的元素,让表中的元素能够满足按照关键字递增或者递减的过程

","children":[],"payload":{"tag":"li","lines":"1258,1259"}},{"content":"\n

算法的稳定性【非常重要】

","children":[],"payload":{"tag":"li","lines":"1259,1260"}},{"content":"\n

排序算法是否具有稳定性并不能衡量一个算法的优劣【重要】

","children":[],"payload":{"tag":"li","lines":"1260,1261"}},{"content":"\n

内部排序:在排序期间元素全部存放在内存中的排序

","children":[{"content":"关键字比较","children":[],"payload":{"tag":"li","lines":"1263,1264"}},{"content":"移动元素","children":[],"payload":{"tag":"li","lines":"1264,1265"}},{"content":"不是所有的内部排序算法都是基于比较操作的,例如:基数排序属于内部排序算法,但不是基于比较实现的","children":[],"payload":{"tag":"li","lines":"1265,1267"}}],"payload":{"tag":"li","lines":"1261,1267"}},{"content":"\n

外部排序:在排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断地在内、外存之间移动的排序。

","children":[],"payload":{"tag":"li","lines":"1267,1269"}}],"payload":{"tag":"h3","lines":"1256,1257"}},{"content":"插入排序","children":[{"content":"\n

基本思想:每次将一个待排序的记录,按关键字大小插入到前面已经排序好的子序列中,直到全部记录插入完成

","children":[],"payload":{"tag":"li","lines":"1271,1272"}},{"content":"\n

直接插入排序

","children":[{"content":"\n

最简单、最直观的插入排序算法

","children":[],"payload":{"tag":"li","lines":"1274,1275"}},{"content":"\n

性能分析

","children":[{"content":"\n

空间效率:仅仅使用到了常数个辅助单元,空间复杂度为O(1)

","children":[],"payload":{"tag":"li","lines":"1277,1278"}},{"content":"\n

时间效率:排序过程中,需要向左侧有序子表中逐个插入元素,操作n-1次,每次操作都分为关键字比较和元素移动这两部分的次数非常依赖于待排序表的初始状态【重要】

","children":[{"content":"最好的情况:元素已经有序,每个元素之需要比较一次,不用移动元素,O(n)","children":[],"payload":{"tag":"li","lines":"1280,1281"}},{"content":"最坏的情况:元素逆序,比较多次,移动多次,O(n^2)","children":[],"payload":{"tag":"li","lines":"1281,1282"}},{"content":"平均情况:总的比较次数和总的移动次数均约等于为(n^2)/4","children":[],"payload":{"tag":"li","lines":"1282,1284"}}],"payload":{"tag":"li","lines":"1278,1284"}},{"content":"\n

稳定性: 【稳定】的排序算法

","children":[],"payload":{"tag":"li","lines":"1284,1285"}},{"content":"\n

适用性

","children":[{"content":"顺序存储的线性表","children":[],"payload":{"tag":"li","lines":"1287,1288"}},{"content":"链式存储的线性表","children":[],"payload":{"tag":"li","lines":"1288,1289"}},{"content":"大部分排序算法都仅仅适用于顺序存储的线性表【重要】","children":[],"payload":{"tag":"li","lines":"1289,1291"}}],"payload":{"tag":"li","lines":"1285,1291"}}],"payload":{"tag":"li","lines":"1275,1291"}}],"payload":{"tag":"li","lines":"1272,1291"}},{"content":"\n

折半插入排序

","children":[{"content":"\n

简述

","children":[{"content":"\n

直接插入:边比较边移动

","children":[{"content":"确定插入位置","children":[],"payload":{"tag":"li","lines":"1297,1298"}},{"content":"腾出空间,元素复制到插入位置","children":[],"payload":{"tag":"li","lines":"1298,1300"}}],"payload":{"tag":"li","lines":"1295,1300"}},{"content":"\n

折半插入:先比较再统一移动

","children":[{"content":"确定好待插入的位置后,再统一地向后移动元素","children":[],"payload":{"tag":"li","lines":"1302,1304"}}],"payload":{"tag":"li","lines":"1300,1304"}}],"payload":{"tag":"li","lines":"1293,1304"}},{"content":"\n

性能分析

","children":[{"content":"折半插入排序的比较次数与待排序表的初始状态无关,仅仅取决于表中的元素个数n","children":[],"payload":{"tag":"li","lines":"1306,1307"}},{"content":"移动元素的次数相比直接插入排序没有任何的改变","children":[],"payload":{"tag":"li","lines":"1307,1308"}},{"content":"直接插入排序和折半插入排序的比较次数一样,依赖于排序表的初始状态","children":[],"payload":{"tag":"li","lines":"1308,1309"}},{"content":"时间复杂度:O(n^2)","children":[],"payload":{"tag":"li","lines":"1309,1310"}},{"content":"稳定性:【稳定】的排序算法","children":[],"payload":{"tag":"li","lines":"1310,1312"}}],"payload":{"tag":"li","lines":"1304,1312"}}],"payload":{"tag":"li","lines":"1291,1312"}},{"content":"\n

希尔排序(缩小增量排序)

","children":[{"content":"\n

基本思想:将待排序表分割成为若干个L[i,i+d,i+2d,....,i+kd]的子表,分别进行直接插入排序,当整个表元素“基本有序”的时候,再对全体记录进行一次直接插入排序

","children":[],"payload":{"tag":"li","lines":"1314,1315"}},{"content":"\n

基本实现步骤

","children":[{"content":"第一步:取一个小于n的步长d1 ,把待排序的表分成d1个组,所有距离为d1的倍数的记录放在同一个组中,对各组进行直接插入排序","children":[],"payload":{"tag":"li","lines":"1317,1318"}},{"content":"第二步:取第二个步长d2 < d1,重复第一步","children":[],"payload":{"tag":"li","lines":"1318,1320"}}],"payload":{"tag":"li","lines":"1315,1320"}},{"content":"\n

主要操作

","children":[{"content":"确认步长,分组","children":[],"payload":{"tag":"li","lines":"1322,1323"}},{"content":"对分组元素进行直接插入排序","children":[],"payload":{"tag":"li","lines":"1323,1325"}}],"payload":{"tag":"li","lines":"1320,1325"}},{"content":"\n

性能分析

","children":[{"content":"\n

空间效率:仅仅使用到了常数个辅助单元,O(1)

","children":[],"payload":{"tag":"li","lines":"1327,1328"}},{"content":"\n

时间效率

","children":[{"content":"\n

直接插入排序

","children":[{"content":"是顺序的,时间复杂度最最小,O(n)","children":[],"payload":{"tag":"li","lines":"1332,1333"}},{"content":"是逆序的,时间复杂度最大,O(n^2)","children":[],"payload":{"tag":"li","lines":"1333,1334"}},{"content":"是局部有序的,即部分顺序、部分逆序,此时的时间复杂度介于两者之间,O(n)~O(n^2)","children":[],"payload":{"tag":"li","lines":"1334,1336"}}],"payload":{"tag":"li","lines":"1330,1336"}},{"content":"\n

取决于增量序列函数

","children":[{"content":"优于折半插入排序","children":[],"payload":{"tag":"li","lines":"1338,1339"}},{"content":"最坏情况为O(n^2)","children":[],"payload":{"tag":"li","lines":"1339,1341"}}],"payload":{"tag":"li","lines":"1336,1341"}}],"payload":{"tag":"li","lines":"1328,1341"}},{"content":"\n

稳定性:【不稳定】,存在相同值元素分在不同的组进行直接插入排序

","children":[],"payload":{"tag":"li","lines":"1341,1342"}},{"content":"\n

适用性:仅仅适用于顺序存储的线性表,虽然采用过程中有采用直接插入排序,但增量序列不为1的时候,需要随机存取,链式存储的时候无法满足

","children":[],"payload":{"tag":"li","lines":"1342,1344"}}],"payload":{"tag":"li","lines":"1325,1344"}}],"payload":{"tag":"li","lines":"1312,1344"}}],"payload":{"tag":"h3","lines":"1269,1270"}},{"content":"交换排序","children":[{"content":"\n

冒泡排序

","children":[{"content":"\n

算法简单、思路直接、十分常用但考查少

","children":[],"payload":{"tag":"li","lines":"1348,1349"}},{"content":"\n

两元素交换方案

","children":[{"content":"临时变量法","children":[],"payload":{"tag":"li","lines":"1351,1352"}},{"content":"加减法","children":[],"payload":{"tag":"li","lines":"1352,1354"}}],"payload":{"tag":"li","lines":"1349,1354"}},{"content":"\n

空间效率

","children":[{"content":"仅使用了常数个辅助单元","children":[],"payload":{"tag":"li","lines":"1356,1357"}},{"content":"空间复杂度为O(1)","children":[],"payload":{"tag":"li","lines":"1357,1359"}}],"payload":{"tag":"li","lines":"1354,1359"}},{"content":"\n

时间效率

","children":[{"content":"\n

最好情况(顺序)

","children":[{"content":"比较次数:n-1","children":[],"payload":{"tag":"li","lines":"1363,1364"}},{"content":"移动次数:0","children":[],"payload":{"tag":"li","lines":"1364,1365"}},{"content":"时间复杂度为:O(n)","children":[],"payload":{"tag":"li","lines":"1365,1367"}}],"payload":{"tag":"li","lines":"1361,1367"}},{"content":"\n

最坏情况(逆序)

","children":[{"content":"比较次数:每趟比较(n-i)次","children":[],"payload":{"tag":"li","lines":"1369,1370"}},{"content":"移动次数:每趟移动3次","children":[],"payload":{"tag":"li","lines":"1370,1371"}},{"content":"时间复杂度为:O(n^2)","children":[],"payload":{"tag":"li","lines":"1371,1373"}}],"payload":{"tag":"li","lines":"1367,1373"}},{"content":"\n

时间复杂度为:O(n^2)

","children":[],"payload":{"tag":"li","lines":"1373,1375"}}],"payload":{"tag":"li","lines":"1359,1375"}},{"content":"\n

稳定性:【稳定】

","children":[],"payload":{"tag":"li","lines":"1375,1377"}}],"payload":{"tag":"li","lines":"1346,1377"}},{"content":"\n

快速排序

","children":[{"content":"\n

基于递归、理解困难、分而治之、关键基准pivot划分

","children":[],"payload":{"tag":"li","lines":"1379,1380"}},{"content":"\n

空间效率

","children":[{"content":"基于递归实现,需要借助递归工作栈来保存每一次递归调用的必要信息","children":[],"payload":{"tag":"li","lines":"1382,1383"}},{"content":"最坏情况:进行n-1次递归,O(n)","children":[],"payload":{"tag":"li","lines":"1383,1384"}},{"content":"最好情况: log2(n+1) 向上取整","children":[],"payload":{"tag":"li","lines":"1384,1385"}},{"content":"平均情况: O((n+1)以2为底的对数)","children":[],"payload":{"tag":"li","lines":"1385,1387"}}],"payload":{"tag":"li","lines":"1380,1387"}},{"content":"\n

时间效率

","children":[{"content":"\n

运行时间与划分操作Partition()函数【不对称相关】

","children":[],"payload":{"tag":"li","lines":"1389,1390"}},{"content":"\n

最坏情况

","children":[{"content":"数组长度为n","children":[],"payload":{"tag":"li","lines":"1392,1393"}},{"content":"左侧快排的数组长度为n-1,有n-1个元素【初始排序表基本有序】","children":[],"payload":{"tag":"li","lines":"1393,1394"}},{"content":"右侧快排的数组长度为0,有0个元素【初始排序表基本逆序】","children":[],"payload":{"tag":"li","lines":"1394,1395"}},{"content":"时间复杂度为:O(n^2)","children":[],"payload":{"tag":"li","lines":"1395,1397"}}],"payload":{"tag":"li","lines":"1390,1397"}},{"content":"\n

效率优化

","children":[{"content":"递归过程中划分得到的子序列规模较小时候,不再递归调用快速排序 ----->改用直接插入排序【时间复杂度最好O(n),性能好】","children":[],"payload":{"tag":"li","lines":"1399,1400"}},{"content":"尽量选择能将数据中分的基准值元素","children":[],"payload":{"tag":"li","lines":"1400,1401"}},{"content":"随机从当前表中选取基准值元素,几乎避免最坏情况的发生","children":[],"payload":{"tag":"li","lines":"1401,1403"}}],"payload":{"tag":"li","lines":"1397,1403"}}],"payload":{"tag":"li","lines":"1387,1403"}},{"content":"\n

稳定性:【不稳定】,存在值相同的元素,位置与最终位置不一致情况

","children":[],"payload":{"tag":"li","lines":"1403,1404"}},{"content":"\n

重要:【是所有内部算法中平均新能最优的排序算法】

","children":[],"payload":{"tag":"li","lines":"1404,1406"}}],"payload":{"tag":"li","lines":"1377,1406"}}],"payload":{"tag":"h3","lines":"1344,1345"}},{"content":"选择排序(TBD)","children":[{"content":"简单选择排序","children":[],"payload":{"tag":"li","lines":"1408,1409"}},{"content":"堆排序","children":[],"payload":{"tag":"li","lines":"1409,1411"}}],"payload":{"tag":"h3","lines":"1406,1407"}},{"content":"归并排序(TBD)","children":[],"payload":{"tag":"h3","lines":"1411,1412"}},{"content":"基数排序","children":[{"content":"\n

很特别的排序算法,【不是基于比较进行排序的】

","children":[],"payload":{"tag":"li","lines":"1415,1416"}},{"content":"\n

基本步骤【趟数取决于元素的最大位数】

","children":[{"content":"分配:依次考察线性表元素,放入队列中","children":[],"payload":{"tag":"li","lines":"1418,1419"}},{"content":"收集:各队列中结点一次首尾相接,组成新的线性表","children":[],"payload":{"tag":"li","lines":"1419,1421"}}],"payload":{"tag":"li","lines":"1416,1421"}},{"content":"\n

分类

","children":[{"content":"最高位优先排序【MSD】","children":[],"payload":{"tag":"li","lines":"1423,1424"}},{"content":"最低位优先排序【LSD】","children":[],"payload":{"tag":"li","lines":"1424,1426"}}],"payload":{"tag":"li","lines":"1421,1426"}},{"content":"\n

性能分析

","children":[{"content":"\n

空间效率:

","children":[{"content":"一趟排序需要r个队列的辅助存储空间,后续排序这些队列将会复用","children":[],"payload":{"tag":"li","lines":"1430,1431"}},{"content":"空间复杂度为:O(n)","children":[],"payload":{"tag":"li","lines":"1431,1433"}}],"payload":{"tag":"li","lines":"1428,1433"}},{"content":"\n

时间效率

","children":[{"content":"\n

进行d趟分配和收集操作

","children":[{"content":"一趟分配需要O(n)","children":[],"payload":{"tag":"li","lines":"1437,1438"}},{"content":"一趟收集需要O(r)","children":[],"payload":{"tag":"li","lines":"1438,1440"}}],"payload":{"tag":"li","lines":"1435,1440"}},{"content":"\n

平均情况:时间复杂度为O(d*(n+r))

","children":[],"payload":{"tag":"li","lines":"1440,1441"}},{"content":"\n

【重要】算法的时间效率与初始排序表状态无关,依赖于分配和收集操作

","children":[],"payload":{"tag":"li","lines":"1441,1443"}}],"payload":{"tag":"li","lines":"1433,1443"}},{"content":"\n

稳定性:【稳定】<----- 按位排序必须稳定

","children":[],"payload":{"tag":"li","lines":"1443,1445"}}],"payload":{"tag":"li","lines":"1426,1445"}}],"payload":{"tag":"h3","lines":"1413,1414"}},{"content":"内部排序","children":[{"content":"\n

各算法性能比较

","children":[{"content":"\n

从时间复杂度来看

","children":[{"content":"\n

平均情况O(n^2)

","children":[{"content":"直接插入排序","children":[],"payload":{"tag":"li","lines":"1453,1454"}},{"content":"简单选择排序","children":[],"payload":{"tag":"li","lines":"1454,1455"}},{"content":"冒泡排序","children":[],"payload":{"tag":"li","lines":"1455,1457"}}],"payload":{"tag":"li","lines":"1451,1457"}},{"content":"\n

最好情况O(n)【顺序情况】

","children":[{"content":"直接插入排序","children":[],"payload":{"tag":"li","lines":"1459,1460"}},{"content":"冒泡排序","children":[],"payload":{"tag":"li","lines":"1460,1462"}}],"payload":{"tag":"li","lines":"1457,1462"}},{"content":"\n

O(nlog2n)

","children":[{"content":"归并排序与初始序列的排序列无关,所有情况下时间复杂度都是O(nlog2n)","children":[],"payload":{"tag":"li","lines":"1464,1465"}},{"content":"堆排序利用数据结构堆,线性时间完成建堆,在O(nlog2n)内完成排序","children":[],"payload":{"tag":"li","lines":"1465,1466"}},{"content":"快排平均性能可以达到O(nlog2n)【性能常常优于其他排序算法】","children":[],"payload":{"tag":"li","lines":"1466,1468"}}],"payload":{"tag":"li","lines":"1462,1468"}},{"content":"\n

基于分治法的思想

","children":[{"content":"快速排序","children":[],"payload":{"tag":"li","lines":"1470,1471"}},{"content":"归并排序","children":[],"payload":{"tag":"li","lines":"1471,1473"}}],"payload":{"tag":"li","lines":"1468,1473"}},{"content":"\n

简单选择排序与序列的初始值状态无关

","children":[],"payload":{"tag":"li","lines":"1473,1474"}},{"content":"\n

希尔排序是插入排序的拓展,在大规模排序中可以达到很高的效率n^1.3~2

","children":[],"payload":{"tag":"li","lines":"1474,1476"}}],"payload":{"tag":"li","lines":"1449,1476"}},{"content":"\n

从空间复杂度来看

","children":[{"content":"\n

借助常数个辅助空间

","children":[{"content":"简单选择排序","children":[],"payload":{"tag":"li","lines":"1480,1481"}},{"content":"插入排序","children":[],"payload":{"tag":"li","lines":"1481,1482"}},{"content":"冒泡排序","children":[],"payload":{"tag":"li","lines":"1482,1483"}},{"content":"希尔排序","children":[],"payload":{"tag":"li","lines":"1483,1484"}},{"content":"堆排序","children":[],"payload":{"tag":"li","lines":"1484,1486"}}],"payload":{"tag":"li","lines":"1478,1486"}},{"content":"\n

快速排序在空间上只适用一个小的辅助栈,实现【递归】

","children":[{"content":"平均情况:O(log2n)","children":[],"payload":{"tag":"li","lines":"1488,1489"}},{"content":"最坏情况:O(n)","children":[],"payload":{"tag":"li","lines":"1489,1491"}}],"payload":{"tag":"li","lines":"1486,1491"}},{"content":"\n

二路归并排序需要较多的辅助空间,为O(n),可以采取时间换空间的思路来减少辅助空间【不建议,导致算法复杂】

","children":[],"payload":{"tag":"li","lines":"1491,1493"}}],"payload":{"tag":"li","lines":"1476,1493"}},{"content":"\n

从稳定性来看

","children":[{"content":"\n

稳定的

","children":[{"content":"插入排序","children":[],"payload":{"tag":"li","lines":"1497,1498"}},{"content":"冒泡排序","children":[],"payload":{"tag":"li","lines":"1498,1499"}},{"content":"归并排序","children":[],"payload":{"tag":"li","lines":"1499,1500"}},{"content":"基数排序","children":[],"payload":{"tag":"li","lines":"1500,1502"}}],"payload":{"tag":"li","lines":"1495,1502"}},{"content":"\n

不稳定

","children":[{"content":"简单选择排序","children":[],"payload":{"tag":"li","lines":"1504,1505"}},{"content":"快速排序","children":[],"payload":{"tag":"li","lines":"1505,1506"}},{"content":"希尔排序","children":[],"payload":{"tag":"li","lines":"1506,1507"}},{"content":"堆排序","children":[],"payload":{"tag":"li","lines":"1507,1509"}}],"payload":{"tag":"li","lines":"1502,1509"}}],"payload":{"tag":"li","lines":"1493,1509"}},{"content":"\n

从过程特征来看

","children":[{"content":"冒泡排序和堆排序每次循环都能拿到当前的最大值或最小值","children":[],"payload":{"tag":"li","lines":"1511,1512"}},{"content":"快速排序每次循环都能确定一个元素到最终位置上","children":[],"payload":{"tag":"li","lines":"1512,1513"}},{"content":"冒泡排序每一趟冒泡也能确定一个元素到最终位置上","children":[],"payload":{"tag":"li","lines":"1513,1515"}}],"payload":{"tag":"li","lines":"1509,1515"}}],"payload":{"tag":"li","lines":"1447,1515"}},{"content":"\n

算法运用

","children":[{"content":"\n

排序方法选取需要考虑的因素

","children":[{"content":"待排序的元素数目n","children":[],"payload":{"tag":"li","lines":"1519,1520"}},{"content":"元素本身信息量大小","children":[],"payload":{"tag":"li","lines":"1520,1521"}},{"content":"关键字的结构和分布情况","children":[],"payload":{"tag":"li","lines":"1521,1522"}},{"content":"稳定性的要求","children":[],"payload":{"tag":"li","lines":"1522,1523"}},{"content":"语言工具、存储结构、辅助空间大小","children":[],"payload":{"tag":"li","lines":"1523,1525"}}],"payload":{"tag":"li","lines":"1517,1525"}},{"content":"\n

排序算法小结

","children":[{"content":"\n

n很小时选择

","children":[{"content":"直接插入排序","children":[],"payload":{"tag":"li","lines":"1529,1530"}},{"content":"简单插入排序","children":[],"payload":{"tag":"li","lines":"1530,1532"}}],"payload":{"tag":"li","lines":"1527,1532"}},{"content":"\n

关键字基本【有序】时选择

","children":[{"content":"直接插入排序","children":[],"payload":{"tag":"li","lines":"1534,1535"}},{"content":"冒泡排序","children":[],"payload":{"tag":"li","lines":"1535,1537"}}],"payload":{"tag":"li","lines":"1532,1537"}},{"content":"\n

n较大时选择O(nlog2n)的排序

","children":[{"content":"快速排序【不稳定】","children":[],"payload":{"tag":"li","lines":"1539,1540"}},{"content":"堆排序【不稳定】","children":[],"payload":{"tag":"li","lines":"1540,1541"}},{"content":"归并排序【稳定】","children":[],"payload":{"tag":"li","lines":"1541,1543"}}],"payload":{"tag":"li","lines":"1537,1543"}},{"content":"\n

n很大且关键字位较少、可分解,建议选择【基数排序】

","children":[],"payload":{"tag":"li","lines":"1543,1544"}},{"content":"\n

信息量较大、元素较多,存储结构可以采用【链表】,减少不必要的时间去元素移动

","children":[],"payload":{"tag":"li","lines":"1544,1546"}}],"payload":{"tag":"li","lines":"1525,1546"}},{"content":"\n

快速排序被认为是基于比较的内部排序中最好的排序方法

","children":[],"payload":{"tag":"li","lines":"1546,1547"}},{"content":"\n

基于比较的排序算法中,每次比较两个关键字之后,只有两种情况(大于|小于)----> 二叉树, 时间复杂度至少为O(nlog2n)

","children":[],"payload":{"tag":"li","lines":"1547,1549"}}],"payload":{"tag":"li","lines":"1515,1549"}}],"payload":{"tag":"h3","lines":"1445,1446"}},{"content":"外部排序","children":[{"content":"\n

基本概念

","children":[{"content":"内部排序:排序方法在内存中进行的排序","children":[],"payload":{"tag":"li","lines":"1553,1554"}},{"content":"外部排序:排序过程中需要多次进行内存、外存交换,对外存文件中的记录进行排序后【仍然存放在外存原有文件中】的排序","children":[],"payload":{"tag":"li","lines":"1554,1555"}},{"content":"外部排序原因:对大文件进行排序,内存控件有限,文件中信息量庞大,无法将整个文件拷贝进内存中进行排序,需要多次调入内存进行排序","children":[],"payload":{"tag":"li","lines":"1555,1557"}}],"payload":{"tag":"li","lines":"1551,1557"}},{"content":"\n

外部排序方法

","children":[{"content":"\n

分类【依据外存设备的不同】

","children":[{"content":"磁盘文件排序","children":[],"payload":{"tag":"li","lines":"1561,1562"}},{"content":"磁带文件排序","children":[],"payload":{"tag":"li","lines":"1562,1564"}}],"payload":{"tag":"li","lines":"1559,1564"}},{"content":"\n

分布方式

","children":[{"content":"磁盘是直接存取设备","children":[],"payload":{"tag":"li","lines":"1566,1567"}},{"content":"磁带是顺序存取设备","children":[],"payload":{"tag":"li","lines":"1567,1569"}}],"payload":{"tag":"li","lines":"1564,1569"}},{"content":"\n

文件通常是【按块存储】在磁盘上,操作系统也是【按块读取】磁盘上的信息

","children":[],"payload":{"tag":"li","lines":"1569,1570"}},{"content":"\n

外部排序中时间代价主要考虑【访问磁盘的次数】,即I/O次数

","children":[],"payload":{"tag":"li","lines":"1570,1571"}},{"content":"\n

【通常采用归并排序方法】

","children":[],"payload":{"tag":"li","lines":"1571,1573"}}],"payload":{"tag":"li","lines":"1557,1573"}}],"payload":{"tag":"h3","lines":"1549,1550"}},{"content":"补充总结和复习","children":[{"content":"\n

元素个数不是很大(n<1000)

","children":[{"content":"直接插入排序【稳定】","children":[],"payload":{"tag":"li","lines":"1577,1578"}},{"content":"冒泡排序【稳定】","children":[],"payload":{"tag":"li","lines":"1578,1579"}},{"content":"简单选择排序【不稳定】","children":[],"payload":{"tag":"li","lines":"1579,1580"}},{"content":"空间复杂度都为O(1),只需要一个辅助元素","children":[],"payload":{"tag":"li","lines":"1580,1581"}},{"content":"平均时间复杂度都为O(n^2)","children":[],"payload":{"tag":"li","lines":"1581,1583"}}],"payload":{"tag":"li","lines":"1575,1583"}},{"content":"\n

中等规模的元素,希尔排序【不稳定】是非常好的选择,比直接插入排序要好(n越大越明显),不占用额外内存空间,减少直接排序次数

","children":[],"payload":{"tag":"li","lines":"1583,1584"}},{"content":"\n

元素个数很多(n很大)

","children":[{"content":"\n

快速排序【不稳定】

","children":[{"content":"\n

最通用、高效的内部排序算法

","children":[],"payload":{"tag":"li","lines":"1588,1589"}},{"content":"\n

平均时间复杂度为O(nlog2n)

","children":[],"payload":{"tag":"li","lines":"1589,1590"}},{"content":"\n

一般空间复杂度为O(log2n)

","children":[],"payload":{"tag":"li","lines":"1590,1591"}},{"content":"\n

最快情况,性能退化【元素基本有序时】

","children":[{"content":"时间复杂度提高到O(n^2)","children":[],"payload":{"tag":"li","lines":"1593,1594"}},{"content":"空间复杂度提高到O(n)","children":[],"payload":{"tag":"li","lines":"1594,1595"}},{"content":"解决方案: 三者(low,mid,high)取中,获取枢纽值【注意严版采用的是low,high】","children":[],"payload":{"tag":"li","lines":"1595,1597"}}],"payload":{"tag":"li","lines":"1591,1597"}}],"payload":{"tag":"li","lines":"1586,1597"}},{"content":"\n

堆排序【不稳定】

","children":[{"content":"高效的内部排序算法","children":[],"payload":{"tag":"li","lines":"1599,1600"}},{"content":"时间复杂度为O(nlog2n)","children":[],"payload":{"tag":"li","lines":"1600,1601"}},{"content":"没啥最坏情况,基本不需要额外的存储空间","children":[],"payload":{"tag":"li","lines":"1601,1603"}}],"payload":{"tag":"li","lines":"1597,1603"}},{"content":"\n

归并排序【稳定】

","children":[{"content":"性能与初始化元素序列无关","children":[],"payload":{"tag":"li","lines":"1605,1606"}},{"content":"时间复杂度总为O(nlog2n)","children":[],"payload":{"tag":"li","lines":"1606,1607"}},{"content":"【明显缺点】:需要O(n)的额外存储空间","children":[],"payload":{"tag":"li","lines":"1607,1609"}}],"payload":{"tag":"li","lines":"1603,1609"}},{"content":"\n

基数排序【稳定】

","children":[{"content":"特殊的排序算法","children":[],"payload":{"tag":"li","lines":"1611,1612"}},{"content":"除了对元素序列的关键字比较,更对关键字的不同位也进行处理和比较","children":[],"payload":{"tag":"li","lines":"1612,1613"}},{"content":"具有线性增长的时间复杂度O(d*(n+r)),适用性比较低、应用场景相对少","children":[],"payload":{"tag":"li","lines":"1613,1614"}},{"content":"需要额外的存储空间,一般用队列来实现桶","children":[],"payload":{"tag":"li","lines":"1614,1616"}}],"payload":{"tag":"li","lines":"1609,1616"}}],"payload":{"tag":"li","lines":"1584,1616"}},{"content":"\n

【重要】不同的排序算法缓和使用,往往能够对算法进行不错的改进,获得更好的性能

","children":[],"payload":{"tag":"li","lines":"1616,1617"}}],"payload":{"tag":"h3","lines":"1573,1574"}}],"payload":{"tag":"h2","lines":"1254,1255"}}],"payload":{"tag":"h1","lines":"6,7"}},null) diff --git a/docs/.vuepress/public/mind-map/os-map.html b/docs/.vuepress/public/mind-map/os-map.html index 61873ae..2625add 100644 --- a/docs/.vuepress/public/mind-map/os-map.html +++ b/docs/.vuepress/public/mind-map/os-map.html @@ -16,11 +16,11 @@ height: 100vh; } - + - + })(() => window.markmap,null,{"content":"操作系统","children":[{"content":"引论","children":[],"payload":{"tag":"h2","lines":"19,20"}},{"content":"进程管理","children":[],"payload":{"tag":"h2","lines":"21,22"}},{"content":"内存管理","children":[],"payload":{"tag":"h2","lines":"23,24"}},{"content":"一些总结","children":[],"payload":{"tag":"h2","lines":"25,26"}},{"content":"I/O管理","children":[],"payload":{"tag":"h2","lines":"27,28"}},{"content":"文件管理","children":[],"payload":{"tag":"h2","lines":"29,30"}}],"payload":{"tag":"h1","lines":"6,7"}},null) diff --git a/package.json b/package.json index 26ac857..f9b3f1c 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@142vip/commit-linter": "0.0.1-alpha.2", "@142vip/eslint-config": "0.0.1-alpha.4", - "@142vip/fairy-cli": "0.0.3-alpha.25", + "@142vip/fairy-cli": "0.0.3-alpha.26", "@142vip/open-source": "0.0.1-alpha.3", "@142vip/utils": "0.0.1-alpha.37", "@142vip/vuepress": "0.0.1-alpha.17", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ac67e7..6015387 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: 0.0.1-alpha.4 version: 0.0.1-alpha.4(@vue/compiler-sfc@3.5.14)(jiti@2.4.2)(typescript@5.8.3) '@142vip/fairy-cli': - specifier: 0.0.3-alpha.25 - version: 0.0.3-alpha.25(@types/node@22.15.18) + specifier: 0.0.3-alpha.26 + version: 0.0.3-alpha.26(@types/node@22.15.18) '@142vip/open-source': specifier: 0.0.1-alpha.3 version: 0.0.1-alpha.3 @@ -25,7 +25,7 @@ importers: version: 0.0.1-alpha.37(@types/node@22.15.18) '@142vip/vuepress': specifier: 0.0.1-alpha.17 - version: 0.0.1-alpha.17(kz5xklnv5dgqlivfjg4wspikmu) + version: 0.0.1-alpha.17(edw6zixblrxlv4huuzwnydsj6u) markmap-cli: specifier: 0.18.11 version: 0.18.11 @@ -49,8 +49,8 @@ packages: engines: {node: '>=16.0.0'} hasBin: true - '@142vip/changelog@0.0.1-alpha.19': - resolution: {integrity: sha512-Nx9AqWj7gUcnGydG7P8D2oHEip9qDK6abvUaAXqAd5MgT2SfYBxb+l40qlPmvGf626xRIP6Z1ewEDfv7ThENmg==} + '@142vip/changelog@0.0.1-alpha.20': + resolution: {integrity: sha512-vC7LdaYH5yVQ/1sHermyT2k0RLYyqNSnOEBdDl5Rdh9M32pyeaMoz/fhnFO4mRLsOtqbzDJqnzHvAOB8dcIN+w==} engines: {node: '>=16.0.0'} hasBin: true @@ -60,8 +60,8 @@ packages: '@142vip/eslint-config@0.0.1-alpha.4': resolution: {integrity: sha512-7AxhRrwZK7mJQW4OytUrGrejRNyIC8HN6SkBVvJ0CMJGv1Ra3vx0Ne0nHcMA0/lrQHt8oqyuUrFlucpVjd8ElA==} - '@142vip/fairy-cli@0.0.3-alpha.25': - resolution: {integrity: sha512-XvMlBGwyrA5zcE5OFXX2cFaysrS6q89TcJA3Cum0qJzNfcTy2T0ucS1WIs7KRebbrgWLSpMDXLNx4lWvTswjlQ==} + '@142vip/fairy-cli@0.0.3-alpha.26': + resolution: {integrity: sha512-pi3bqOSDyeFBIxVpp90PVRc4Ts4sEtecUNPf0BQEwK290qFPajKRXsE/sTSZmUnMEk9lsWGfJVLQSD41FB9B1w==} engines: {node: '>=16.0.0'} hasBin: true @@ -1409,27 +1409,15 @@ packages: '@vscode/markdown-it-katex@1.1.1': resolution: {integrity: sha512-3KTlbsRBPJQLE2YmLL7K6nunTlU+W9T5+FjfNdWuIUKgxSS6HWLQHaO3L4MkJi7z7MpIPpY+g4N+cWNBPE/MSA==} - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-core@3.5.14': resolution: {integrity: sha512-k7qMHMbKvoCXIxPhquKQVw3Twid3Kg4s7+oYURxLGRd56LiuHJVrvFKI4fm2AM3c8apqODPfVJGoh8nePbXMRA==} - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-dom@3.5.14': resolution: {integrity: sha512-1aOCSqxGOea5I80U2hQJvXYpPm/aXo95xL/m/mMhgyPUsKe9jhjwWpziNAw7tYRnbz1I61rd9Mld4W9KmmRoug==} - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - '@vue/compiler-sfc@3.5.14': resolution: {integrity: sha512-9T6m/9mMr81Lj58JpzsiSIjBgv2LiVoWjIVa7kuXHICUi8LiDSIotMpPRXYJsXKqyARrzjT24NAwttrMnMaCXA==} - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - '@vue/compiler-ssr@3.5.14': resolution: {integrity: sha512-Y0G7PcBxr1yllnHuS/NxNCSPWnRGH4Ogrp0tsLA5QemDZuJLs99YjAKQ7KqkHE0vCg4QTKlQzXLKCMF7WPSl7Q==} @@ -1445,40 +1433,23 @@ packages: '@vue/devtools-shared@7.7.6': resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - '@vue/reactivity@3.5.14': resolution: {integrity: sha512-7cK1Hp343Fu/SUCCO52vCabjvsYu7ZkOqyYu7bXV9P2yyfjUMUXHZafEbq244sP7gf+EZEz+77QixBTuEqkQQw==} '@vue/repl@4.5.1': resolution: {integrity: sha512-YYXvFue2GOrZ6EWnoA8yQVKzdCIn45+tpwJHzMof1uwrgyYAVY9ynxCsDYeAuWcpaAeylg/nybhFuqiFy2uvYA==} - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - '@vue/runtime-core@3.5.14': resolution: {integrity: sha512-w9JWEANwHXNgieAhxPpEpJa+0V5G0hz3NmjAZwlOebtfKyp2hKxKF0+qSh0Xs6/PhfGihuSdqMprMVcQU/E6ag==} - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - '@vue/runtime-dom@3.5.14': resolution: {integrity: sha512-lCfR++IakeI35TVR80QgOelsUIdcKjd65rWAMfdSlCYnaEY5t3hYwru7vvcWaqmrK+LpI7ZDDYiGU5V3xjMacw==} - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} - peerDependencies: - vue: 3.5.13 - '@vue/server-renderer@3.5.14': resolution: {integrity: sha512-Rf/ISLqokIvcySIYnv3tNWq40PLpNLDLSJwwVWzG6MNtyIhfbcrAxo5ZL9nARJhqjZyWWa40oRb2IDuejeuv6w==} peerDependencies: vue: 3.5.14 - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vue/shared@3.5.14': resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} @@ -1716,11 +1687,6 @@ packages: '@vueuse/metadata@13.2.0': resolution: {integrity: sha512-kPpzuQCU0+D8DZCzK0iPpIcXI+6ufWSgwnjJ6//GNpEn+SHViaCtR+XurzORChSgvpHO9YC8gGM97Y1kB+UabA==} - '@vueuse/shared@13.0.0': - resolution: {integrity: sha512-9MiHhAPw+sqCF/RLo8V6HsjRqEdNEWVpDLm2WBRW2G/kSQjb8X901sozXpSCaeLG0f7TEfMrT4XNaA5m1ez7Dg==} - peerDependencies: - vue: ^3.5.0 - '@vueuse/shared@13.2.0': resolution: {integrity: sha512-vx9ZPDF5HcU9up3Jgt3G62dMUfZEdk6tLyBAHYAG4F4n73vpaA7J5hdncDI/lS9Vm7GA/FPlbOmh9TrDZROTpg==} peerDependencies: @@ -4445,14 +4411,6 @@ packages: peerDependencies: vue: ^3.2.0 - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - vue@3.5.14: resolution: {integrity: sha512-LbOm50/vZFG6Mhy6KscQYXZMQ0LMCC/y40HDJPPvGFQ+i/lUH+PJHR6C3assgOQiXdl6tAfsXHbXYVBZZu65ew==} peerDependencies: @@ -4715,9 +4673,9 @@ snapshots: - '@types/node' - magicast - '@142vip/changelog@0.0.1-alpha.19(@types/node@22.15.18)': + '@142vip/changelog@0.0.1-alpha.20(@types/node@22.15.18)': dependencies: - '@142vip/utils': 0.0.1-alpha.36(@types/node@22.15.18) + '@142vip/utils': 0.0.1-alpha.37(@types/node@22.15.18) ofetch: 1.3.4 transitivePeerDependencies: - '@types/node' @@ -4756,12 +4714,12 @@ snapshots: - typescript - vitest - '@142vip/fairy-cli@0.0.3-alpha.25(@types/node@22.15.18)': + '@142vip/fairy-cli@0.0.3-alpha.26(@types/node@22.15.18)': dependencies: - '@142vip/changelog': 0.0.1-alpha.19(@types/node@22.15.18) + '@142vip/changelog': 0.0.1-alpha.20(@types/node@22.15.18) '@142vip/commit-linter': 0.0.1-alpha.2(@types/node@22.15.18) '@142vip/release-version': 0.0.1-alpha.13(@types/node@22.15.18) - '@142vip/utils': 0.0.1-alpha.36(@types/node@22.15.18) + '@142vip/utils': 0.0.1-alpha.37(@types/node@22.15.18) del: 8.0.0 node-fetch: 3.3.2 turbo: 2.4.4 @@ -4864,16 +4822,16 @@ snapshots: - '@types/node' - magicast - '@142vip/vuepress@0.0.1-alpha.17(kz5xklnv5dgqlivfjg4wspikmu)': + '@142vip/vuepress@0.0.1-alpha.17(edw6zixblrxlv4huuzwnydsj6u)': dependencies: '@vue/repl': 4.5.1 '@vuepress/bundler-vite': 2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0) - '@vuepress/plugin-markdown-image': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-tab': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-redirect': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-slimsearch': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-watermark': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/shared': 13.0.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/plugin-markdown-image': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-tab': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-redirect': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-slimsearch': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-watermark': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/shared': 13.2.0(vue@3.5.14(typescript@5.8.3)) cli-spinners: 3.2.0 dashjs: 4.7.4 hls.js: 1.5.13 @@ -4884,9 +4842,9 @@ snapshots: sass-embedded: 1.87.0 unicorn-magic: 0.3.0 vidstack: 1.12.12 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) - vuepress-theme-hope: 2.0.0-rc.87(@vue/repl@4.5.1)(@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(dashjs@4.7.4)(hls.js@1.5.13)(katex@0.16.22)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + vuepress-theme-hope: 2.0.0-rc.87(@vue/repl@4.5.1)(@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))))(@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))))(dashjs@4.7.4)(hls.js@1.5.13)(katex@0.16.22)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) '@antfu/eslint-config@4.11.0(@vue/compiler-sfc@3.5.14)(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: @@ -6056,10 +6014,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.7.2': optional: true - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))': dependencies: vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0) - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.14(typescript@5.8.3) '@vitest/eslint-plugin@1.2.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: @@ -6074,14 +6032,6 @@ snapshots: dependencies: katex: 0.16.22 - '@vue/compiler-core@3.5.13': - dependencies: - '@babel/parser': 7.27.2 - '@vue/shared': 3.5.13 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-core@3.5.14': dependencies: '@babel/parser': 7.27.2 @@ -6090,28 +6040,11 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.13': - dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 - '@vue/compiler-dom@3.5.14': dependencies: '@vue/compiler-core': 3.5.14 '@vue/shared': 3.5.14 - '@vue/compiler-sfc@3.5.13': - dependencies: - '@babel/parser': 7.27.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.3 - source-map-js: 1.2.1 - '@vue/compiler-sfc@3.5.14': dependencies: '@babel/parser': 7.27.2 @@ -6124,11 +6057,6 @@ snapshots: postcss: 8.5.3 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.13': - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - '@vue/compiler-ssr@3.5.14': dependencies: '@vue/compiler-dom': 3.5.14 @@ -6154,33 +6082,17 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.13': - dependencies: - '@vue/shared': 3.5.13 - '@vue/reactivity@3.5.14': dependencies: '@vue/shared': 3.5.14 '@vue/repl@4.5.1': {} - '@vue/runtime-core@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 - '@vue/runtime-core@3.5.14': dependencies: '@vue/reactivity': 3.5.14 '@vue/shared': 3.5.14 - '@vue/runtime-dom@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 - csstype: 3.1.3 - '@vue/runtime-dom@3.5.14': dependencies: '@vue/reactivity': 3.5.14 @@ -6188,25 +6100,17 @@ snapshots: '@vue/shared': 3.5.14 csstype: 3.1.3 - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))': - dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.8.3) - '@vue/server-renderer@3.5.14(vue@3.5.14(typescript@5.8.3))': dependencies: '@vue/compiler-ssr': 3.5.14 '@vue/shared': 3.5.14 vue: 3.5.14(typescript@5.8.3) - '@vue/shared@3.5.13': {} - '@vue/shared@3.5.14': {} '@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0)': dependencies: - '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.4(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3)) '@vuepress/bundlerutils': 2.0.0-rc.22(typescript@5.8.3) '@vuepress/client': 2.0.0-rc.22(typescript@5.8.3) '@vuepress/core': 2.0.0-rc.22(typescript@5.8.3) @@ -6218,8 +6122,8 @@ snapshots: postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.8.0) rollup: 4.41.0 vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(yaml@2.8.0) - vue: 3.5.13(typescript@5.8.3) - vue-router: 4.5.1(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vue-router: 4.5.1(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - '@types/node' - jiti @@ -6241,8 +6145,8 @@ snapshots: '@vuepress/core': 2.0.0-rc.22(typescript@5.8.3) '@vuepress/shared': 2.0.0-rc.22 '@vuepress/utils': 2.0.0-rc.22 - vue: 3.5.13(typescript@5.8.3) - vue-router: 4.5.1(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vue-router: 4.5.1(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - supports-color - typescript @@ -6265,8 +6169,8 @@ snapshots: '@vue/devtools-api': 7.7.6 '@vue/devtools-kit': 7.7.6 '@vuepress/shared': 2.0.0-rc.22 - vue: 3.5.13(typescript@5.8.3) - vue-router: 4.5.1(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vue-router: 4.5.1(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript @@ -6276,24 +6180,12 @@ snapshots: '@vuepress/markdown': 2.0.0-rc.22 '@vuepress/shared': 2.0.0-rc.22 '@vuepress/utils': 2.0.0-rc.22 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.14(typescript@5.8.3) transitivePeerDependencies: - supports-color - typescript - '@vuepress/helper@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': - dependencies: - '@vue/shared': 3.5.14 - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - cheerio: 1.0.0 - fflate: 0.8.2 - gray-matter: 4.0.3 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) - transitivePeerDependencies: - - typescript - - '@vuepress/helper@2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/helper@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@vue/shared': 3.5.14 '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) @@ -6301,15 +6193,27 @@ snapshots: fflate: 0.8.2 gray-matter: 4.0.3 vue: 3.5.14(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/highlighter-helper@2.0.0-rc.98(@vueuse/core@13.2.0(vue@3.5.13(typescript@5.8.3)))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/helper@2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vue/shared': 3.5.14 + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + cheerio: 1.0.0 + fflate: 0.8.2 + gray-matter: 4.0.3 + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + transitivePeerDependencies: + - typescript + + '@vuepress/highlighter-helper@2.0.0-rc.98(@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3)))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': + dependencies: + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) optionalDependencies: - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) '@vuepress/markdown@2.0.0-rc.22': dependencies: @@ -6332,163 +6236,163 @@ snapshots: transitivePeerDependencies: - supports-color - '@vuepress/plugin-active-header-links@2.0.0-rc.98(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-active-header-links@2.0.0-rc.98(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-back-to-top@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-back-to-top@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-blog@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-blog@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) chokidar: 3.6.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-catalog@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-catalog@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-comment@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-comment@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) giscus: 1.6.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-copy-code@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-copy-code@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-copyright@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-copyright@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-git@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-git@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) rehype-parse: 9.0.1 rehype-sanitize: 6.0.0 rehype-stringify: 10.0.1 unified: 11.0.5 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-icon@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-icon@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-icon': 0.18.0(markdown-it@14.1.0) - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-links-check@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-links-check@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-markdown-ext@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-ext@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-container': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-footnote': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-tasklist': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) js-yaml: 4.1.0 - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-markdown-hint@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-hint@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-alert': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-container': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - vue - '@vuepress/plugin-markdown-image@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-image@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-figure': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-img-lazyload': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-img-mark': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-img-size': 0.18.1(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-markdown-include@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-include@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-include': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-markdown-math@2.0.0-rc.102(katex@0.16.22)(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-math@2.0.0-rc.102(katex@0.16.22)(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-katex-slim': 0.18.0(katex@0.16.22)(markdown-it@14.1.0) '@mdit/plugin-mathjax-slim': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) optionalDependencies: katex: 0.16.22 transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-markdown-stylize@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-stylize@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-align': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-attrs': 0.18.0(markdown-it@14.1.0) @@ -6498,143 +6402,143 @@ snapshots: '@mdit/plugin-sub': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-sup': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-markdown-tab@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-markdown-tab@2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@mdit/plugin-tab': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - markdown-it - typescript - '@vuepress/plugin-notice@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-notice@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) chokidar: 3.6.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-nprogress@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-nprogress@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-photo-swipe@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-photo-swipe@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) photoswipe: 5.4.4 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-reading-time@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-reading-time@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-redirect@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-redirect@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) commander: 13.1.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-rtl@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-rtl@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-sass-palette@2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-sass-palette@2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) chokidar: 4.0.3 - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) optionalDependencies: sass-embedded: 1.87.0 transitivePeerDependencies: - typescript - '@vuepress/plugin-seo@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-seo@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-shiki@2.0.0-rc.102(@vueuse/core@13.2.0(vue@3.5.13(typescript@5.8.3)))(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-shiki@2.0.0-rc.102(@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3)))(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@shikijs/transformers': 3.4.2 - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/highlighter-helper': 2.0.0-rc.98(@vueuse/core@13.2.0(vue@3.5.13(typescript@5.8.3)))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/highlighter-helper': 2.0.0-rc.98(@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3)))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) nanoid: 5.1.5 shiki: 3.4.2 synckit: 0.11.6 - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - '@vueuse/core' - typescript - '@vuepress/plugin-sitemap@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-sitemap@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) sitemap: 8.0.0 - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) cheerio: 1.0.0 chokidar: 3.6.0 slimsearch: 2.2.2 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-theme-data@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-theme-data@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: '@vue/devtools-api': 7.7.6 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - '@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + '@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))': dependencies: - '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) watermark-js-plus: 1.6.2 transitivePeerDependencies: - typescript @@ -6659,13 +6563,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vueuse/core@13.2.0(vue@3.5.13(typescript@5.8.3))': - dependencies: - '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.2.0 - '@vueuse/shared': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - '@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3))': dependencies: '@types/web-bluetooth': 0.0.21 @@ -6675,14 +6572,6 @@ snapshots: '@vueuse/metadata@13.2.0': {} - '@vueuse/shared@13.0.0(vue@3.5.13(typescript@5.8.3))': - dependencies: - vue: 3.5.13(typescript@5.8.3) - - '@vueuse/shared@13.2.0(vue@3.5.13(typescript@5.8.3))': - dependencies: - vue: 3.5.13(typescript@5.8.3) - '@vueuse/shared@13.2.0(vue@3.5.14(typescript@5.8.3))': dependencies: vue: 3.5.14(typescript@5.8.3) @@ -9686,20 +9575,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-router@4.5.1(vue@3.5.13(typescript@5.8.3)): + vue-router@4.5.1(vue@3.5.14(typescript@5.8.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.8.3) - - vue@3.5.13(typescript@5.8.3): - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.3)) - '@vue/shared': 3.5.13 - optionalDependencies: - typescript: 5.8.3 + vue: 3.5.14(typescript@5.8.3) vue@3.5.14(typescript@5.8.3): dependencies: @@ -9711,18 +9590,18 @@ snapshots: optionalDependencies: typescript: 5.8.3 - vuepress-plugin-components@2.0.0-rc.86(dashjs@4.7.4)(hls.js@1.5.13)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))): + vuepress-plugin-components@2.0.0-rc.86(dashjs@4.7.4)(hls.js@1.5.13)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))): dependencies: '@stackblitz/sdk': 1.11.0 - '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) balloon-css: 1.2.0 create-codepen: 2.0.0 qrcode: 1.5.4 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) - vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) optionalDependencies: dashjs: 4.7.4 hls.js: 1.5.13 @@ -9731,21 +9610,21 @@ snapshots: transitivePeerDependencies: - typescript - vuepress-plugin-md-enhance@2.0.0-rc.87(@vue/repl@4.5.1)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))): + vuepress-plugin-md-enhance@2.0.0-rc.87(@vue/repl@4.5.1)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))): dependencies: '@mdit/plugin-container': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-demo': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-plantuml': 0.18.0(markdown-it@14.1.0) '@mdit/plugin-uml': 0.18.0(markdown-it@14.1.0) '@types/markdown-it': 14.1.2 - '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) balloon-css: 1.2.0 js-yaml: 4.1.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) - vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) optionalDependencies: '@vue/repl': 4.5.1 markmap-lib: 0.18.11(markmap-common@0.18.9) @@ -9757,58 +9636,58 @@ snapshots: - markdown-it - typescript - vuepress-shared@2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))): + vuepress-shared@2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))): dependencies: - '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) transitivePeerDependencies: - typescript - vuepress-theme-hope@2.0.0-rc.87(@vue/repl@4.5.1)(@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(dashjs@4.7.4)(hls.js@1.5.13)(katex@0.16.22)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))): + vuepress-theme-hope@2.0.0-rc.87(@vue/repl@4.5.1)(@vuepress/plugin-slimsearch@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))))(@vuepress/plugin-watermark@2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))))(dashjs@4.7.4)(hls.js@1.5.13)(katex@0.16.22)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))): dependencies: - '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-active-header-links': 2.0.0-rc.98(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-back-to-top': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-blog': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-catalog': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-comment': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-copy-code': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-copyright': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-git': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-icon': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-links-check': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-ext': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-hint': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-image': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-include': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-math': 2.0.0-rc.102(katex@0.16.22)(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-stylize': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-markdown-tab': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-notice': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-nprogress': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-photo-swipe': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-reading-time': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-redirect': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-rtl': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-seo': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-shiki': 2.0.0-rc.102(@vueuse/core@13.2.0(vue@3.5.13(typescript@5.8.3)))(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-sitemap': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-theme-data': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vueuse/core': 13.2.0(vue@3.5.13(typescript@5.8.3)) + '@vuepress/helper': 2.0.0-rc.105(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-active-header-links': 2.0.0-rc.98(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-back-to-top': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-blog': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-catalog': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-comment': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-copy-code': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-copyright': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-git': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-icon': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-links-check': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-ext': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-hint': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-image': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-include': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-math': 2.0.0-rc.102(katex@0.16.22)(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-stylize': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-markdown-tab': 2.0.0-rc.102(markdown-it@14.1.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-notice': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-nprogress': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-photo-swipe': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-reading-time': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-redirect': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-rtl': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-sass-palette': 2.0.0-rc.102(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-seo': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-shiki': 2.0.0-rc.102(@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3)))(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-sitemap': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-theme-data': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3)) balloon-css: 1.2.0 bcrypt-ts: 7.0.0 chokidar: 3.6.0 - vue: 3.5.13(typescript@5.8.3) - vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) - vuepress-plugin-components: 2.0.0-rc.86(dashjs@4.7.4)(hls.js@1.5.13)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress-plugin-md-enhance: 2.0.0-rc.87(@vue/repl@4.5.1)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + vue: 3.5.14(typescript@5.8.3) + vuepress: 2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + vuepress-plugin-components: 2.0.0-rc.86(dashjs@4.7.4)(hls.js@1.5.13)(sass-embedded@1.87.0)(typescript@5.8.3)(vidstack@1.12.12)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress-plugin-md-enhance: 2.0.0-rc.87(@vue/repl@4.5.1)(markdown-it@14.1.0)(markmap-lib@0.18.11(markmap-common@0.18.9))(markmap-toolbar@0.18.10(markmap-common@0.18.9))(markmap-view@0.18.10(markmap-common@0.18.9))(mermaid@11.6.0)(sass-embedded@1.87.0)(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + vuepress-shared: 2.0.0-rc.86(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) optionalDependencies: - '@vuepress/plugin-slimsearch': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) - '@vuepress/plugin-watermark': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + '@vuepress/plugin-slimsearch': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) + '@vuepress/plugin-watermark': 2.0.0-rc.102(typescript@5.8.3)(vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))) sass-embedded: 1.87.0 transitivePeerDependencies: - '@vue/repl' @@ -9834,7 +9713,7 @@ snapshots: - typescript - vidstack - vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)): + vuepress@2.0.0-rc.22(@vuepress/bundler-vite@2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0))(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)): dependencies: '@vuepress/cli': 2.0.0-rc.22(typescript@5.8.3) '@vuepress/client': 2.0.0-rc.22(typescript@5.8.3) @@ -9842,7 +9721,7 @@ snapshots: '@vuepress/markdown': 2.0.0-rc.22 '@vuepress/shared': 2.0.0-rc.22 '@vuepress/utils': 2.0.0-rc.22 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.14(typescript@5.8.3) optionalDependencies: '@vuepress/bundler-vite': 2.0.0-rc.22(@types/node@22.15.18)(jiti@2.4.2)(sass-embedded@1.87.0)(typescript@5.8.3)(yaml@2.8.0) transitivePeerDependencies: