自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 收藏
  • 关注

原创 操作系统:操作系统基础(Basics of OS)

摘要:操作系统作为用户与硬件的桥梁,需掌握计算机硬件结构,包括CPU、内存、I/O设备、总线和控制器等核心组件。CPU执行指令并调度进程,设备控制器管理外部设备,内存控制器协调内存访问。关键概念包括引导程序(启动OS)、中断机制(响应事件)和系统调用(程序请求服务)。中断发生时,CPU暂停当前任务,执行中断服务程序后恢复原任务。这些机制共同保障计算机系统高效运行。(148字)

2025-07-09 10:08:45 545

原创 操作系统:基本概念

操作系统是管理计算机硬件资源的核心程序,充当用户与硬件的中介。主要功能包括处理器管理、内存分配、存储管理、I/O控制、界面交互、文件系统及安全权限。常见操作系统有Windows、macOS、Linux、Android和iOS,各具平台特性。系统类型涵盖批处理、分时、分布式、网络、实时及多任务系统,针对不同场景设计。现代操作系统以提升使用便利性和资源效率为双重目标,如Windows和macOS在优化性能的同时注重用户体验。

2025-07-08 22:48:22 829

原创 数据结构:数组:合并数组(Merging Arrays)

摘要:本文介绍了合并两个有序数组的方法。最直接的做法是将两个数组合并后重新排序,时间复杂度为O((m+n)log(m+n))。更优的方法是使用双指针技术:分别用指针i和j遍历两个数组,每次将较小的元素放入结果数组C,并将对应指针后移。当某个数组遍历完后,将剩余元素直接加入C。这种方法时间复杂度为O(m+n),空间复杂度为O(m+n),充分利用了原数组的有序性。文中还详细讨论了数组和指针的区别,并给出了完整的C++实现代码。

2025-07-08 20:04:38 450

原创 数据结构:数组:在有序数组中插入元素(Inserting in a Sorted Array)与将负数元素移动到左侧(Arranging -value on the Left Side)

文章摘要 本文探讨了在有序数组中插入元素和将负数移至数组左侧的算法实现。对于有序数组插入,从第一性原理出发,通过查找插入位置、移动元素和插入新值三个步骤完成,优化后采用从后向前边比较边移动的方法提升效率(时间复杂度O(n))。对于负数排序问题,使用双指针法:左指针定位错放的正数,右指针定位错放的负数,交换两者直至分区完成(时间复杂度O(n),空间O(1))。两种算法均通过代码示例和步骤分析,展示了高效的原位操作逻辑。

2025-07-07 23:00:40 631

原创 数据结构:数组:反转数组(Reverse the Array)

摘要:数组反转可通过两种方法实现:1. 双指针交换法:使用i,j指针从两端向中间遍历并交换元素,时间复杂度O(n),空间复杂度O(1)。这种方式直接修改原数组,通过n/2次交换完成反转。2. 辅助数组法:创建新数组B,将A的元素从尾部开始复制到B,再将B写回A,时间复杂度O(n),但需要额外O(n)空间。两种方法分别体现了空间优化和逻辑清晰的取舍,前者适合就地修改,后者更易理解但占用更多内存。

2025-07-06 19:52:48 339

原创 数据结构:二分查找分析(Analysis of Binary Search)

摘要:本文介绍了二分查找算法的递归实现及其时间复杂度分析。算法通过每次将查找区间折半(需数组有序),逐步定位目标值。递归调用树呈现对数高度,每层仅需常数时间操作(O(1)),因此总时间复杂度为O(logn)。通过构建满二叉树模型分析平均情况:当数组规模n=2^k-1时,平均比较次数约为log₂n-1,证明平均时间复杂度仍为O(logn)。该分析涵盖了最坏、最好和平均情况的完整复杂度论证。

2025-07-06 11:41:10 976

原创 数据结构:数组:二分查找(Binary Search)

二分查找是一种在有序数组中快速定位目标元素的算法。其核心思想是通过比较中间元素与目标值,每次将搜索范围缩小一半:若目标值等于中间元素则返回;若小于则查找左半部分;若大于则查找右半部分。通过不断缩小范围,算法能够在O(log n)时间内完成查找。示例展示了查找成功和失败的情况,并提供了迭代和递归两种实现方式。递归版本通过传递当前搜索范围(low,high)来实现,每次递归调用都处理更小的子数组。该算法充分利用了数组的有序性,比线性查找更高效。

2025-07-05 22:03:07 882

原创 数据结构:数组:线性查找(Linear Search)

线性查找是一种基础的查找算法,它通过逐个比较数组元素来查找目标值。算法从数组第一个元素开始顺序检查,直到找到目标值或遍历完整个数组。查找成功返回元素索引,失败返回-1。时间复杂度为O(n),空间复杂度为O(1)。适用于无序小规模数据。优化策略包括Move-to-Front(将找到元素移至首位)和Transpose(与前一个元素交换),这两种方法通过调整元素位置来提升高频元素的查找效率。优化后的算法更适合具有访问局部性的场景,能显著减少重复查找时的比较次数。

2025-07-05 19:14:46 571

原创 数据结构:数组:插入操作(Insert)与删除操作(Delete)

本文介绍了数组的插入和删除操作。插入操作需要从目标位置开始将元素后移,腾出空间放入新元素,时间复杂度为O(n)。删除操作则需从删除位置后一位开始前移覆盖元素,时间复杂度同样为O(n)。两种操作都需要注意边界条件,如插入位置是否合法、数组是否已满等。插入最好情况是末尾插入O(1),最坏是头部插入O(n);删除最好情况是末尾删除O(1),最坏是头部删除O(n)。两种操作的空间复杂度均为O(1)。

2025-07-05 17:02:16 709

原创 数据结构:数组抽象数据类型(Array ADT)

摘要:抽象数据类型(ADT)是一种聚焦数据操作逻辑而忽略实现细节的建模方法,如遥控器说明书只描述功能不涉及电路。ADT具有操作明确、实现无关等特征,不同于具体数据类型和数据结构。以ArrayADT为例,它定义了get/set等线性操作接口,强调顺序存储、随机访问等抽象特性,但具体实现可灵活选择(静态/动态数组等)。ADT是面向对象编程的重要基础,通过封装行为规范提升代码复用性。

2025-07-05 15:53:02 420

原创 数据结构:多维数组在内存中的映射(Address Mapping of Multi-dimensional Arrays)

摘要:内存中数据只能线性存储,二维数组通过行主映射或列主映射转换为线性结构。行主映射优先存储整行元素,计算公式为Base+(i×N+j)×sizeof(int),适合按行遍历,CPU缓存命中率高。列主映射优先存储整列元素,地址计算为Base+(j×行数+i)×sizeof(元素类型)。三维数组的行主映射公式为Base+((i×M×N)+(j×N)+k)×sizeof(type),列主映射为Base+((k×L×M)+(j×L)+i)×sizeof(type)。C/C++默认采用行主映射,多维数组的线性化本质

2025-07-05 15:26:59 857

原创 数据结构:数组在编译器中的表示(Array Representation by Compiler)

摘要:C++变量int x=10的本质是编译器将变量名x映射到栈区的内存偏移地址(如RBP-4),生成机器码mov指令存储数值10。数组A[i]访问被转换为地址计算:BaseAddress+i×sizeof(type),通过指针解引用实现。数组下标从0开始的设计避免了i-1的额外计算,与指针算法自然兼容,提升性能。这种机制体现了变量名仅是程序员视角的标签,在机器层面完全被地址偏移替代的本质。

2025-07-03 20:59:56 612

原创 数据结构:二维数组(2D Arrays)

二维数组的三种实现方式对比: 静态二维数组(int A[3][4]): 连续内存存储 行列固定,访问高效 适用于固定大小的矩阵运算 指针数组(int *A[3]): 每行独立分配,可不连续 行长度可不同,灵活性高 适用于不规则表格结构 双指针动态分配(int **A): 完全运行时确定行列 需要手动内存管理 适合用户输入变量大小的场景 现代C++推荐使用vector<vector<int>>替代动态分配方式,更安全高效。

2025-07-03 11:29:28 965

原创 数据结构:静态数组(Static Array)和动态数组(Dynamic Array)

静态数组和动态数组的内存分配方式不同。静态数组在编译时确定大小,分配在栈区或全局区,内存自动管理;动态数组在运行时通过new/malloc分配在堆区,需手动释放内存。由于数组内存连续且大小固定,原始数组无法直接扩容,必须创建更大的新数组并拷贝数据才能实现"扩容"。静态数组效率高但大小固定,动态数组灵活但有内存管理风险。

2025-07-03 09:52:40 388

原创 数据结构:数组(Array)

摘要:数组是C++中存储相同类型元素的连续内存结构,下标从0开始。这种设计源于底层地址计算效率,如A[i]等价于*(A+i)。数组在内存中连续排列,元素间距固定。声明时可指定大小或由初始化列表推断,未初始化部分自动补零。访问方式包括下标索引和指针操作,数组名可退化为指针。该设计延续自早期语言,被多数现代语言采用,确保高效访问和内存连续性。

2025-07-02 23:40:52 937

原创 数据结构:递归:汉诺塔问题(Tower of Hanoi)

汉诺塔问题是一种经典的递归算法案例,其核心思想是将n个盘子从起始柱移动到目标柱,借助辅助柱完成。基本解决步骤为:1)将n-1个盘子从起始柱移到辅助柱;2)将第n个盘子移到目标柱;3)将n-1个盘子从辅助柱移回目标柱。这种递归方法确保了每次移动都符合"小盘不压大盘"的规则。通过从n=1的基础情况出发,逐渐构建更复杂问题的解决方案,体现了分治思想的自相似性。代码实现只需要约10行递归函数即可完成,时间复杂度为O(2^n)。

2025-07-02 10:46:54 1083

原创 数据结构:递归:组合数(Combination formula)

本文探讨了组合数问题的递归解法。通过分析组合问题的本质(从n个元素选k个),构建了基于"选/不选最后一个元素"的递推关系:C(n,k)=C(n-1,k)+C(n-1,k-1)。文章以C(4,2)为例展示了递归调用树,揭示了组合数递归与杨辉三角的对应关系。最后给出了简洁的C++递归实现代码,包含边界条件处理(k=0或k=n时返回1)和递归公式调用。该方法通过将大问题分解为小问题,直观展现了组合数的计算过程。

2025-07-01 22:02:22 708

原创 数据结构:递归:斐波那契数列(Fibonacci Sequence)

斐波那契数列是一个经典数学序列,定义从第2项开始每一项等于前两项之和(F(0)=0,F(1)=1)。常见实现方法包括:1)递归法(时间复杂度O(2ⁿ),空间O(n));2)迭代法(时间O(n),空间O(1));3)记忆化递归(通过缓存子问题结果优化至时间O(n))。递归存在重复计算问题,记忆化技术和迭代法是更高效的解决方案。该数列在算法分析中常用于演示不同时间/空间复杂度策略的优化过程。

2025-07-01 20:24:19 1027

原创 计算机组成与体系结构:补码数制二(Complementary Number Systems)

任何计算超出这个范围,就“回绕”回来。就像时钟是模 12 的系统:我们希望把 A − B 变成 A + something我们的问题是:如何让A − B,变成A +????用模运算思维,我们知道:因为:在模 b^n 意义下,负数 −B 可以表示成 b^n - B所以你只要:不直接做 A − B而是把 B 换成 b’s complement(即 b^n - B),再和 A 相加最后把结果取模(保留低 n 位)你就等价于完成了 A − B 的操作!举个完整例子说明。

2025-06-07 23:48:10 771

原创 计算机组成与体系结构:补码数制一(Complementary Number Systems)

你可以想象一下,如果我们把一台计算机看作一个只会处理“二进制加法”的机器人,那它就不会直接做“减法”或“处理正负号”。那我们该怎么告诉这个机器人该怎么做呢?这就需要一种“编码方法”,能:表示正数和负数 ;让机器人只用加法就能完成加法和减法; 还不容易出错 ;这种方法,就是我们今天要学的 —— 补码数制(Two's Complement System)。 我们学习补码数制的核心原因,是为了解决有符号数(Signed Numbers)在计算机中进行加减运算时所面临的表示和运算复杂性问题。

2025-06-07 21:44:09 955

原创 数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

本文介绍了如何优化泰勒展开式的递归计算方法。通过分析传统递归方法O(n²)的时间复杂度问题,提出采用霍纳法则进行优化。霍纳法则通过嵌套乘加结构,将计算复杂度降至O(n)。文章详细演示了将泰勒展开式重写为霍纳形式的过程,并给出了对应的迭代和递归实现方案。最后澄清了"循环"与"迭代"的概念区别,指出霍纳法则本质上是一种迭代算法,既可用循环也可用递归实现。这种方法显著提高了泰勒展开的计算效率,特别适用于大n值情况。

2025-06-05 20:59:06 872

原创 数据结构:递归:泰勒展开式(Taylor Series Expansion)

本文摘要:文章从第一性原理出发,推导了用C++递归实现泰勒展开式的方法。通过类比自然数求和递归模式,提出递归计算策略:1)定义基础情况(n=0返回1),2)先递归计算前n-1项和,3)回溯过程中更新分子(x^n)和分母(n!)的状态,4)累加当前项。关键点在于利用全局变量保存状态,并在递归回溯阶段计算当前项,避免重复计算。最终实现了一个高效递归算法,完整呈现了从数学定义到代码实现的推导过程。

2025-06-05 15:17:36 1383

原创 SQL思路解析:窗口滑动的应用

摘要:本文介绍了如何用SQL计算餐馆7天滑动窗口的消费总额和平均值。首先按天汇总消费数据,然后通过自连接(JOIN)创建7天窗口(当前日期+前6天),计算每个窗口的SUM(amount)和ROUND(SUM/7,2)作为平均值。使用HAVING COUNT=7确保窗口完整,并按日期升序排列。这种方法不依赖连续日期数据,比窗口函数更灵活。最终SQL完成7天移动平均分析,满足餐馆营业额变化分析需求。

2025-06-03 20:07:31 783

原创 数据结构:递归:自然数之和

摘要:本文探讨了计算前n个自然数之和S(n)的三种方法。从第一性原理出发,通过递归解法分解问题结构(S(n)=S(n-1)+n)并定义初始条件(S(1)=1),自然生成递归思想。循环解法识别重复操作模式,构建自动控制的重复流程。公式法直接使用数学表达式n(n+1)/2。三种方法的时间复杂度分别为O(n)、O(n)和O(1),空间复杂度分别为O(n)、O(1)和O(1)。作者比较了各方法的优缺点,指出公式法虽高效但可能溢出,递归法有栈溢出风险,循环法则更稳定实用。

2025-06-03 15:49:21 891

原创 数据结构:递归的种类(Types of Recursion)

本文介绍了递归的不同形式及其特性。尾递归的特点是递归调用为函数最后一步操作,可优化为循环以节省栈空间;头递归则是先递归后操作,导致回溯执行。树形递归会产生指数级调用,如斐波那契数列;线性递归则保持单一路径。间接递归通过函数间互相调用实现,而嵌套递归的参数本身就是递归调用。时间复杂度方面,尾递归和循环均为O(n),树形递归高达O(2^n)。空间复杂度上,循环最优(O(1)),递归通常需要O(n)栈空间。文章通过调用树和栈帧变化图解了执行过程,并提供了递归转循环的方法。

2025-06-03 11:03:19 1229

原创 SQL: 窗口滑动(Sliding Window)

滑动窗口分析摘要 滑动窗口是一种动态分析数据范围的技术,分为时间窗口和行窗口两类。 时间窗口以时间单位(如天、小时)定义滑动区间,常用于计算移动平均值(如过去7天销售额)。实现方式包括子查询和自连接,窗口形式包括: 滑动窗口(重叠区间,如每日更新7天均值) 滚动窗口(无重叠,如按天/小时聚合) 会话窗口(用户连续行为划分,如超时断开后重启) 行窗口以固定行数为范围(如前3行均值),通过ROWS BETWEEN语法实现,适用于累计求和或排名。 核心区别:时间窗口(RANGE)基于时间值,行窗口(ROWS)基于

2025-06-02 12:06:42 1049

原创 SQL:基本语法总结

表示暂时还未涉及,以后会继续更新。

2025-06-02 11:26:50 99

原创 数据结构:递归(Recursion)

本文通过两个递归示例(先打印后递归 vs 先递归后打印)对比分析了递归的执行流程和栈内存使用。重点解析了递归的两个阶段:调用阶段(Ascending)和返回阶段(Descending),并详细说明了递归调用时栈内存的分配机制。通过时间复杂度(O(n))和空间复杂度(O(n))分析,以及静态变量在递归中的特殊行为(仅初始化一次且共享),深入阐述了递归的工作原理。文中用调用树和内存结构图直观展示了递归的执行过程,强调递归必须包含终止条件的关键特性。

2025-06-01 22:08:47 1252

原创 数据结构:时间复杂度(Time Complexity)和空间复杂度(Space Complexity)

文章摘要:时间复杂度衡量算法运行时间随输入规模的增长趋势,常用大O表示法描述,如O(1)、O(n)、O(n²)等,从常数级到指数级效率递减。它帮助预测算法处理大数据的能力和比较算法效率。空间复杂度则评估算法运行时占用的额外内存空间,同样采用大O表示法。分析时间复杂度需关注循环嵌套层数和递归模式,而空间复杂度考察变量和数据结构的内存使用。通过具体代码示例(如循环、递归、数组操作),可以直观理解不同复杂度级别的特征及其实际意义。(149字)

2025-05-31 21:46:10 1300

原创 计算机组成与体系结构:存储系统总结

2025-05-31 18:31:43 110

原创 数据结构:栈(Stack)和堆(Heap)

《计算机程序内存管理基础》摘要 程序运行时需使用主存存储数据和指令。内存分为代码区(存放机器指令)、栈区(自动管理局部变量和函数调用)和堆区(手动管理动态内存)。静态分配在编译时确定变量大小和位置(如栈变量),动态分配则运行时申请堆内存(需手动释放)。栈遵循先进后出原则,函数调用时创建栈帧(含参数、局部变量和返回地址),函数返回后自动销毁。堆内存需通过new/delete手动管理,否则会导致内存泄漏。典型内存布局中,栈向低地址增长,堆向高地址增长,二者共同构成了程序运行时的内存使用框架。

2025-05-31 17:19:26 1288

原创 C++:参数传递方法(Parameter Passing Methods)

本文摘要: 文章系统介绍了函数参数传递的三种方式:1)值传递(Pass by Value),传递变量副本,安全但不影响原数据;2)地址传递(Pass by Address),通过指针修改原变量,高效但需注意空指针;3)引用传递(Pass by Reference),C++特有机制,语法简洁且高效。同时分析了数组作为函数参数的实现原理(退化为指针)及安全返回数组的方法(堆内存或静态数组)。此外,文章还简要说明了函数和结构体的定义及作用,强调其模块化和数据管理的优势。

2025-05-31 12:13:04 867

原创 C++:指针(Pointers)

指针是存储数据地址的变量,用于间接访问数据。它的核心作用包括:1.访问堆内存,实现动态内存分配(通过malloc/new);2.管理外部资源(如文件、网络等操作系统资源);3.高效参数传递(避免大对象复制,直接修改原数据)。使用指针时需注意:分配后检查非空,使用后及时释放(free/delete),防止内存泄漏。C++推荐使用new/delete代替malloc/free,因其更安全且支持对象构造/析构。指针是实现动态数据结构和资源管理的核心机制。

2025-05-31 10:10:40 772

原创 数据结构:导论

摘要:第一性原理思维强调将问题拆解至基础元素,再构建复杂系统。数据结构是组织数据的框架,旨在高效存储、访问和修改数据。核心指标包括时间/空间复杂度和可扩展性。数据结构分为线性(如数组、链表)和非线性(如树、图)两类,均支持插入、删除等基本操作。数据结构与算法密不可分:前者是存储容器,后者是处理方法。学习数据结构的本质是掌握在时空效率间权衡的思维框架,以优化代码性能与可维护性。

2025-05-30 10:44:28 858

原创 c++:进阶语法总结

本文摘要: C++中阶学习聚焦高级特性与OOP编程,涵盖面向对象核心概念(封装、继承、多态)、智能指针内存管理、STL进阶用法(容器/算法/迭代器)、现代C++特性(11/14/17标准)、异常处理、多线程编程、文件操作及模板编程。重点包括虚函数机制、移动语义、lambda表达式、线程同步技术等,旨在培养编写复杂程序能力,为系统级开发奠定基础。特别注意现代C++在资源管理、并发编程方面的改进,如智能指针解决内存泄漏、std::async简化异步任务等实践要点。

2025-05-29 08:21:23 781

原创 c++:初级语法总结

摘要:本文概述了C++初级阶段的9个核心学习内容,包括基本语法与数据类型、控制结构、函数、数组/字符串、指针/引用、STL基础、结构体/枚举以及动态内存管理。重点强调了变量作用域、输入输出安全、运算符优先级、循环控制、函数参数传递、指针内存管理、STL容器使用等关键概念,并提示了常见错误规避点(如数组越界、内存泄漏)。学习者应掌握基础编程能力,能编写包含控制逻辑和简单数据结构的小型程序,为后续学习奠定基础。(149字)

2025-05-29 08:18:39 760

原创 计算机组成与体系结构:固态硬盘(Solid State Drives)

SSD(固态硬盘)是一种采用闪存芯片存储数据的非易失性存储设备,相比传统机械硬盘(HDD)具有更快读写速度和更高可靠性。主要分为2.5英寸和M.2两种规格:2.5英寸SSD采用SATA3.0接口,最大带宽6Gbps;M.2 SSD则使用PCIe总线和NVMe协议,速度可达3500-14000MB/s。现代SSD普遍采用电荷捕获闪存(CTF)技术,通过控制器实现磨损均衡、垃圾回收等功能。虽然SSD价格较高,但其无机械部件、体积小、速度快等优势使其成为主流存储选择。

2025-05-28 19:48:11 976

原创 硬盘驱动器习题解析

硬盘内圈与外圈记录密度解析 现代硬盘采用固定扇区数设计,导致内外圈存储效率差异:内圈磁道长度短但扇区数与外圈相同,这意味着内圈数据记录密度更高。记录密度按单位长度(Bytes/mm)计算而非面积,因此尽管外圈物理面积更大,存储容量与内圈相同。这种设计使内圈成为限制因素,决定了整盘最大记录密度(=每圈字节数/内圈周长)。高密度要求内圈具备更强的数据压缩和写入能力,影响了硬盘的整体存储效率。同时,转速(RPM)直接影响访问延迟,常见5400-10000RPM规格在性能与功耗间取得平衡。SATA接口通过串行传输和

2025-05-28 19:10:01 741

原创 SQL思路解析:窗口函数该如何使用?

题目要求找出最后一个登上巴士且总重量不超过1000kg的乘客。解决思路是: 按上车顺序(turn)排列乘客 计算累积重量(cumulative_weight) 筛选累积重量≤1000kg的乘客 取其中上车顺序(turn)最大的乘客 SQL解决方案: SELECT person_name FROM ( SELECT person_name, SUM(weight) OVER(ORDER BY turn) AS cumulative_weight, turn FROM Queue ) temp WHERE cu

2025-05-27 19:19:40 1067

原创 计算机组成与体系结构:硬盘驱动器(Hard Disk Drives)

硬盘驱动器(HDD)是一种非易失性的固定存储设备,用于长期保存数据。它由高速旋转的磁盘、磁头臂组件和控制电路组成,通过磁性记录数据。硬盘内部包含多层磁盘(platters),每个盘面分为同心圆的磁道(tracks),相同编号的磁道组成柱面(cylinders),磁道再划分为512字节的扇区(sectors)。硬盘容量=磁道数×每道扇区数×扇区大小。访问时间包括寻道时间(8-12ms)、旋转延迟(转速决定,如7200RPM约4.17ms)和数据传输时间,总访问时间通常为12-16ms。操作系统以4KB页为单位

2025-05-27 16:03:43 708

SQL:MySQL基本语法总结

基本SQL语法总结

2025-06-02

计算机组成与体系结构-存储系统总结

计算机组成与体系结构-存储系统总结

2025-05-31

c++:初级语法总结思维导图

c++:初级语法总结思维导图

2025-05-29

c++:进阶语法总结思维导图

c++:进阶语法总结思维导图

2025-05-29

Cache三种映射机制总结

Cache三种映射机制总结

2025-05-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除