考研数据结构真题答案整理:从解题思路到代码验证的完整指南
1. 一份考研真题答案的整理思路与整体设计1.1 为什么选择整理《数据结构》真题答案每年考研季结束总有一批人会把自己做过的真题答案整理出来。有人是为了复盘有人是为了给学弟学妹留点资料也有人纯粹是强迫症发作觉得不做完整套不舒服。我属于第三种。《数据结构》这门课有个特点它不像数学那样有标准答案的绝对唯一性也不像政治那样可以靠背诵拿分。同一道算法设计题不同的人写出来的代码可能风格迥异但只要逻辑正确、复杂度达标都能拿满分。这就导致一个问题——市面上流传的答案版本很多质量参差不齐有些甚至存在明显的逻辑错误。我在整理这套802真题答案的时候核心目标就一个让每一道题的解答过程都能被验证让每一个步骤都有据可循。这套答案覆盖的题型包括选择题、填空题、简答题、算法设计题和综合应用题。其中算法设计题是重头戏也是最能拉开分数差距的部分。我在整理时遵循的原则是选择题和填空题给出明确答案并附上简要推导简答题给出要点框架算法设计题则提供完整可运行的代码并标注时间复杂度和空间复杂度。1.2 答案整理的整体框架设计整理真题答案不是简单地写个结果就完事。我的做法是建立一个三层结构第一层是题目还原。把原题尽可能完整地复现出来包括题干描述、输入输出要求、约束条件等。这一步看似简单实际上很关键——很多人在做题时因为漏看了一个条件而导致整个思路跑偏。第二层是解题思路分析。这部分我会写清楚看到题目后的第一反应是什么为什么选择这种数据结构而不是那种有没有其他可行方案各自的优劣是什么。这部分内容在标准答案里通常不会出现但对学习者来说价值最大。第三层是代码实现与验证。对于算法题我会写出完整的C/C代码因为802的指定语言通常是C或C并在本地编译运行用几组测试数据验证正确性。代码中会加入必要的注释说明关键步骤的意图。这三层结构的好处是读者可以先看题目自己思考再看思路分析对照自己的想法最后看代码实现验证细节。不同基础的人可以各取所需。1.3 工具选型与环境准备整理这套答案用到的工具很朴素一个文本编辑器写代码一个编译器跑测试再加一个Markdown编辑器做排版。具体来说代码编写用VS Code配合C/C插件写起来比较顺手。当然用Dev-C或者Code::Blocks也完全没问题关键是能编译能调试。代码测试gcc/g命令行编译手动构造测试用例。对于树、图这类结构我会写一个简单的打印函数把结构可视化出来方便检查。文档排版用Typora写Markdown公式用LaTeX语法代码块标注语言类型。最后导出PDF或者直接发Markdown文件都行。提示如果你也打算整理真题答案建议从一开始就用版本控制工具比如git管理你的文档。改到后面你会发现有些题目第一版写错了第二版改对了但过几天又觉得第一版其实也有道理——有版本记录就能随时回溯。环境准备好之后就可以开始逐题攻克了。下面我按题型分类把整理过程中遇到的典型题目和解题要点拆开来讲。2. 核心题型拆解与实操要点2.1 选择题与填空题的快速处理策略选择题和填空题在《数据结构》试卷中通常占30到40分题量不小但单题分值低。整理这类题目时我的策略是先分类再逐个击破。分类的依据是知识点模块线性表、栈和队列、树与二叉树、图、查找、排序。把题目按模块归好类之后你会发现某些模块的考点非常集中。比如线性表部分反复考顺序存储和链式存储的优缺点对比树部分必考二叉树的遍历和性质计算。以一道典型的填空题为例在一棵度为3的树中度为3的结点有2个度为2的结点有1个则度为0的结点有______个。这道题考的是树的基本性质结点总数 总度数 1。设度为0、1、2、3的结点数分别为n0、n1、n2、n3已知n32n21。根据性质有n0 n1 n2 n3 0×n0 1×n1 2×n2 3×n3 1代入已知条件n0 n1 1 2 n1 2 6 1化简得 n0 n1 3 n1 9所以 n0 6。这类题目的关键在于把性质公式记牢并理解推导过程。我在整理时会把每一步的推导都写出来而不是只给一个最终数字。因为读者如果只看到答案“6”下次换一组数据可能又不会算了。2.2 简答题的要点提炼方法简答题通常考的是概念辨析和性质说明。比如“栈和队列的区别是什么”、“二叉排序树和堆的区别是什么”这类问题。整理这类题目时最容易犯的错误是写太多——把能想到的都堆上去结果阅卷老师找不到重点。我的做法是采用要点式回答每个要点用一句话概括必要时附上一行解释。以“栈和队列的区别”为例操作受限方式不同栈是后进先出LIFO队列是先进先出FIFO。插入和删除的位置不同栈的插入和删除都在栈顶进行队列的插入在队尾删除在队头。典型应用场景不同栈用于函数调用、表达式求值、括号匹配队列用于层次遍历、缓冲区管理、任务调度。三个要点每个一句话干净利落。阅卷老师一眼就能看到得分点。注意简答题不要写成长篇大论。我见过有人把栈和队列的区别写了三百字结果关键点淹没在废话里。答题纸空间有限把最核心的差异写清楚就够了。2.3 算法设计题的完整解题流程算法设计题是整张试卷里最花时间也最能体现水平的部分。整理这类题目时我遵循一个固定的五步流程第一步明确输入输出和约束条件。把题目要求读三遍确认输入数据的规模、数据范围、是否有特殊要求比如“要求时间复杂度为O(n)”或者“空间复杂度为O(1)”。第二步选择合适的数据结构。根据题目特点选择数组、链表、栈、队列、树、图等。这一步的决策依据是操作的类型和频率。比如需要频繁查找就用哈希表或二叉排序树需要频繁插入删除就用链表。第三步设计算法思路。在纸上画出思路图或者写出伪代码。这一步不要急着写正式代码先把逻辑理清楚。第四步编写代码并测试。把伪代码翻译成C/C代码然后用边界数据、特殊数据、随机数据分别测试。第五步分析复杂度。写出时间复杂度和空间复杂度的分析过程不能只给结论。下面用一道具体的题目来演示这个流程。2.4 一道二叉树算法题的完整实操记录题目编写一个算法判断一棵二叉树是否为完全二叉树。第一步明确输入输出。输入是一棵二叉树的根结点指针输出是布尔值true表示是完全二叉树false表示不是。约束条件二叉树以二叉链表存储结点结构包含data、left、right三个域。第二步选择数据结构。判断完全二叉树需要按层遍历所以需要用到队列。队列可以用数组实现也可以用链式队列。考虑到二叉树结点数未知我用链式队列更稳妥。第三步设计算法思路。完全二叉树的定义是按层序遍历时一旦遇到一个结点没有左孩子或者没有右孩子那么它后面的所有结点都必须是叶子结点。基于这个定义算法思路如下如果树为空返回true。将根结点入队。当队列不为空时出队一个结点如果该结点有右孩子但没有左孩子直接返回false。如果该结点有左孩子左孩子入队。如果该结点有右孩子右孩子入队。如果该结点没有左孩子或者没有右孩子则标记一个flag表示后续结点必须是叶子结点。如果flag被标记后后续出队的结点还有孩子返回false。遍历结束返回true。第四步编写代码。#include stdio.h #include stdlib.h #include stdbool.h typedef struct TreeNode { int data; struct TreeNode *left; struct TreeNode *right; } TreeNode; typedef struct QueueNode { TreeNode *node; struct QueueNode *next; } QueueNode; typedef struct { QueueNode *front; QueueNode *rear; } Queue; void initQueue(Queue *q) { q-front q-rear NULL; } bool isEmpty(Queue *q) { return q-front NULL; } void enqueue(Queue *q, TreeNode *node) { QueueNode *newNode (QueueNode *)malloc(sizeof(QueueNode)); newNode-node node; newNode-next NULL; if (q-rear NULL) { q-front q-rear newNode; } else { q-rear-next newNode; q-rear newNode; } } TreeNode* dequeue(Queue *q) { if (isEmpty(q)) return NULL; QueueNode *temp q-front; TreeNode *node temp-node; q-front q-front-next; if (q-front NULL) q-rear NULL; free(temp); return node; } bool isCompleteBinaryTree(TreeNode *root) { if (root NULL) return true; Queue q; initQueue(q); enqueue(q, root); bool flag false; // 标记是否遇到过缺孩子的结点 while (!isEmpty(q)) { TreeNode *current dequeue(q); // 如果已经标记过当前结点必须是叶子 if (flag) { if (current-left ! NULL || current-right ! NULL) { return false; } continue; } // 有右无左直接不是完全二叉树 if (current-right ! NULL current-left NULL) { return false; } if (current-left ! NULL) { enqueue(q, current-left); } if (current-right ! NULL) { enqueue(q, current-right); } else { // 没有右孩子说明后续结点必须是叶子 flag true; } // 有左无右也要标记 if (current-left ! NULL current-right NULL) { flag true; } } return true; }第五步复杂度分析。每个结点入队出队各一次时间复杂度为O(n)其中n为结点总数。队列最多同时存储约n/2个结点满二叉树的最后一层空间复杂度为O(n)。实操心得判断完全二叉树的代码有一个容易写错的地方——当遇到“有左无右”的结点时要立即标记flag而不是等到下一个结点才标记。我第一版代码就犯了这个错误导致某些情况判断错误。测试的时候用一棵“左孩子存在但右孩子为空且左孩子还有孩子”的树就能测出来。2.5 图论算法题的整理要点图论部分的算法题通常涉及图的遍历DFS/BFS、最小生成树Prim/Kruskal、最短路径Dijkstra/Floyd、拓扑排序等。整理这类题目时我重点关注存储结构的选择和算法步骤的清晰描述。以邻接矩阵和邻接表的选择为例存储结构适用场景优点缺点邻接矩阵稠密图判断两点间是否有边O(1)空间O(n²)稀疏图浪费大邻接表稀疏图空间O(ne)遍历邻居高效判断两点间是否有边需O(degree)整理答案时我会根据题目给出的图的特点来推荐存储结构。如果题目没有明确指定我会说明两种结构各自的适用性并选择其中一种来实现。以Dijkstra算法为例整理时需要注意的细节包括dist数组的初始化源点到自身为0到其他顶点为无穷大、visited数组的作用标记已确定最短路径的顶点、以及每轮选择当前未访问顶点中dist最小的那个。这些细节在代码中都要有注释说明。2.6 排序算法题的对比整理方法排序是《数据结构》的必考内容几乎每年都会出题。整理排序相关的题目时我习惯用对比表格来呈现不同算法的特性排序算法平均时间复杂度最坏时间复杂度空间复杂度稳定性直接插入排序O(n²)O(n²)O(1)稳定希尔排序O(n^1.3)O(n²)O(1)不稳定冒泡排序O(n²)O(n²)O(1)稳定快速排序O(nlogn)O(n²)O(logn)不稳定简单选择排序O(n²)O(n²)O(1)不稳定堆排序O(nlogn)O(nlogn)O(1)不稳定归并排序O(nlogn)O(nlogn)O(n)稳定基数排序O(d(nr))O(d(nr))O(r)稳定这张表在整理答案时非常有用。遇到“哪种排序算法最适合对基本有序的序列进行排序”这类问题时直接查表就能得出答案直接插入排序在基本有序时时间复杂度接近O(n)是最优选择。提示快速排序的最坏时间复杂度O(n²)出现在每次划分都极不均匀的情况下比如已经有序且选择第一个元素作为枢轴。整理答案时要把这个条件写清楚不能只写一个O(n²)就完事。3. 完整实操流程与关键环节实现3.1 从零开始整理一套真题答案的步骤如果你也想整理一套自己的真题答案可以按照下面的流程来操作。这套流程是我实际走了一遍之后总结出来的踩过的坑都标注出来了。第一步收集题目。把能找到的真题版本都找出来对照着看确保题目描述准确。有些流传的版本存在文字错误或者遗漏条件需要交叉验证。第二步按知识点分类。把题目按照数据结构的知识模块分类线性表、栈和队列、串、树与二叉树、图、查找、排序。分类之后你会发现某些模块的题目特别多某些模块很少这能帮你判断复习的重点。第三步逐题解答。按照前面说的三层结构题目还原、思路分析、代码实现来整理每一道题。这一步最耗时但也是最有价值的部分。第四步代码验证。所有算法题的代码都要在本地编译运行用多组测试数据验证。测试数据要包括正常数据、边界数据空树、单结点、满结点、特殊数据完全二叉树、非完全二叉树、有序序列、逆序序列。第五步排版输出。用Markdown排版代码块标注语言公式用LaTeX表格用Markdown表格。最后导出PDF或者直接分享Markdown文件。3.2 代码测试的实操记录代码写完之后不测试等于没写。我在整理过程中对每一道算法题都做了测试下面记录几个典型的测试案例。测试案例一判断完全二叉树。构造了以下测试用例空树返回true。正确。单结点树返回true。正确。满二叉树7个结点返回true。正确。完全二叉树6个结点最后一层只有左孩子返回true。正确。非完全二叉树右孩子存在但左孩子为空返回false。正确。非完全二叉树标记flag后仍有结点有孩子返回false。正确。六组测试全部通过说明代码逻辑正确。测试案例二Dijkstra算法求最短路径。构造了一个5个顶点的带权有向图手动计算了从源点到各顶点的最短路径然后与代码输出对比。第一次运行时发现输出结果与手动计算不一致排查后发现是dist数组初始化时把源点到自身的距离设成了无穷大而不是0。修正后结果一致。这个错误很典型——Dijkstra算法中源点到自身的距离必须是0否则第一轮选择最小dist时会选错顶点。3.3 复杂度分析的书写规范复杂度分析是算法设计题的重要组成部分但很多人只写一个结论就完事。我在整理时要求自己写出完整的推导过程。以归并排序为例时间复杂度分析如下归并排序采用分治策略将序列不断二分直到每个子序列只有一个元素然后两两合并。二分的过程形成一棵递归树树的高度为logn。每一层的合并操作总共需要O(n)的时间。因此总时间复杂度为O(nlogn)。空间复杂度方面合并操作需要一个辅助数组来暂存合并结果数组大小与待排序序列相同因此空间复杂度为O(n)。这样的分析过程写出来读者能看懂为什么是这个复杂度而不是死记硬背一个结论。3.4 答案排版的细节处理排版这件事看起来不重要但实际上直接影响阅读体验。我在排版时注意了以下几点代码块标注语言C代码用c伪代码用text命令行用bash。这样在支持语法高亮的编辑器里看起来更舒服。公式用LaTeX比如O(nlogn)写成(O(n\log n))看起来更专业。表格对齐Markdown表格的列对齐方式要统一数值列右对齐文字列左对齐。重点加粗关键概念、易错点、重要结论用加粗标注方便快速浏览。引用块提示注意事项、实操心得用引用块标注与正文区分开。实操心得整理答案时不要追求一次到位。我第一版整理完之后放了两天再回来看发现了好几处错误和表述不清的地方。隔一段时间再检查能发现当时注意不到的问题。4. 常见问题与排查技巧实录4.1 代码编译错误的排查思路整理C语言代码时最常见的编译错误包括头文件缺失、变量未声明、类型不匹配、分号遗漏。排查这类错误的思路是从第一个错误开始改因为后面的错误可能是第一个错误引发的连锁反应。比如下面这段代码#include stdio.h int main() { int a 10 printf(%d\n, a); return 0; }编译器会报错“expected ; before printf”。改掉第一行的分号遗漏后后面的错误就消失了。另一个常见问题是结构体定义和使用不一致。比如定义了struct TreeNode使用时写成了TreeNode而没有加struct关键字在C语言中。解决办法是用typedef给结构体起别名。4.2 算法逻辑错误的调试方法逻辑错误比编译错误更难排查因为代码能跑但结果不对。我的调试方法是在关键位置插入打印语句观察中间变量的值是否符合预期。以判断完全二叉树的代码为例如果结果不对我会在每次出队时打印当前结点的值和flag的状态看看是在哪一步判断出错的。另一种方法是用最小测试用例复现问题。比如判断完全二叉树先用只有三个结点的树来测试如果三个结点的树都判断不对那问题肯定在基本逻辑上不用去看复杂的情况。4.3 常见问题速查表问题现象可能原因排查方法解决方案编译报错“undefined reference”函数声明了但没定义或者链接时缺少库检查函数定义是否存在编译命令是否包含所有源文件补全函数定义或添加链接选项程序运行时崩溃段错误空指针解引用、数组越界、栈溢出用gdb调试定位崩溃位置检查指针是否为空数组下标是否越界算法结果不正确逻辑错误、边界条件未处理插入打印语句用最小用例测试逐行检查逻辑补充边界处理时间复杂度超限算法选择不当存在嵌套循环分析代码的循环结构优化算法减少嵌套层次内存泄漏malloc后没有free用valgrind检测确保每个malloc都有对应的free4.4 独家避坑技巧坑一递归算法的栈溢出。递归实现DFS或者树的遍历时如果递归深度太大比如链式存储的二叉树退化成链表会导致栈溢出。解决办法是改用非递归实现用显式栈模拟递归或者增大栈空间。坑二浮点数比较。在计算图的边权或者排序中的比较时如果涉及浮点数不要直接用比较而应该用fabs(a-b) epsilon的方式。这个问题在《数据结构》考试中不常见但在实际编程中很典型。坑三字符串处理。C语言中字符串以\0结尾操作时要注意留出结束符的位置。比如char str[10]最多存储9个字符加一个结束符。这个细节在写串的模式匹配算法时容易忽略。坑四队列和栈的初始化。链式队列的front和rear指针初始化为NULL顺序栈的top初始化为-1。这些初始化细节如果搞错会导致后续操作全部出错。坑五二叉树的结点计数。计算二叉树结点数时空树返回0非空树返回左子树结点数右子树结点数1。这个“1”容易漏掉。提示整理答案时遇到自己不确定的题目不要硬写。可以先标记出来查资料或者请教别人之后再补上。硬写一个错误答案比空着更糟糕因为会误导看答案的人。5. 答案整理之外的延伸思考5.1 如何用这套答案进行高效复习整理好的答案不只是给别人看的自己也可以用来复习。我的用法是遮住答案自己做一遍然后对照。做对的题目快速过做错的题目重点分析错误原因。具体操作上我会把答案分成两部分题目部分和解答部分。复习时先只看题目部分在纸上写出自己的解答然后再翻到解答部分对照。对于算法设计题我会把自己的代码和答案代码都跑一遍对比输出结果和复杂度。这种“做-对-改”的循环比单纯看答案效率高得多。看答案的时候觉得自己会了实际上手写的时候才发现写不出来——这是很多人复习时的通病。5.2 从真题答案看命题规律整理完一套真题之后我发现了几个命题规律规律一重点知识点反复考。二叉树的遍历、图的存储结构、排序算法的对比、哈希表的冲突处理这些内容几乎每年都出现。复习时要把这些高频考点吃透。规律二算法设计题偏爱树和图。线性表的算法题通常比较简单树和图的算法题更能考察综合能力。特别是二叉树的递归算法和图的遍历算法出现频率很高。规律三复杂度分析是必考内容。几乎每道算法设计题都要求分析时间复杂度有时候还要求分析空间复杂度。复习时不能只关注代码怎么写还要关注复杂度怎么算。规律四概念辨析题注重细节。比如“栈和队列的区别”、“二叉排序树和堆的区别”、“B树和B树的区别”这些题目考察的是对概念的理解深度不是死记硬背能解决的。5.3 答案分享的注意事项如果你打算把自己的答案分享出来有几点需要注意第一注明适用范围。不同年份、不同学校的《数据结构》考试大纲可能不同你的答案只适用于特定年份和特定学校。分享时要写清楚避免误导。第二标注不确定性。对于自己不确定的题目要明确标注“此题解法仅供参考”或者“欢迎讨论”。不要把自己的答案包装成标准答案。第三代码要能跑。分享算法题的代码之前确保代码在本地能编译能运行。我见过有人分享的代码连编译都通不过这种分享没有意义。第四尊重原创。如果参考答案或者教材中的解法要注明出处。虽然真题答案很难说有什么版权但基本的学术诚信还是要有的。5.4 后续可以扩展的方向这套答案整理完之后还可以做几个方向的扩展扩展一增加多种解法。同一道题可能有多种解法比如求最短路径可以用Dijkstra也可以用Floyd判断完全二叉树可以用层序遍历也可以用递归。把多种解法都整理出来对比各自的优劣。扩展二增加复杂度对比。对于同一道题的不同解法详细对比时间复杂度和空间复杂度帮助读者理解不同解法的适用场景。扩展三增加测试用例。为每道算法题设计更全面的测试用例包括边界情况、特殊情况、随机数据让读者可以直接用这些用例验证自己的代码。扩展四制作知识点索引。把题目按照知识点重新组织形成一个索引表。读者可以根据自己的薄弱环节快速定位到相关题目。我在实际操作中的体会是整理真题答案这件事最大的收获不是那份答案本身而是整理过程中对每个知识点的重新理解和验证。有些题目你以为自己会了真正写下来才发现理解有偏差。这种“输出倒逼输入”的学习方式比单纯刷题效率高得多。最后再分享一个小技巧整理答案时对于每一道题试着用一句话概括它的核心考点。比如“这道题考的是二叉树的性质计算”、“这道题考的是Dijkstra算法的贪心选择”。把这些一句话总结收集起来就是一份极简版的复习提纲。考前翻一遍比看整本教材管用。

相关新闻

Python深度学习疾病预测系统:从数据预处理到Web部署全流程

Python深度学习疾病预测系统:从数据预处理到Web部署全流程

毕设答辩结束那天,我走出教室看了一眼时间,整整被三位评审老师追问了三十分钟。问得最多的不是代码,不是准确率,而是三个问题:数据哪来的?为什么用这个模型?系统到底解决什么问题?这…

2026/10/17 5:17:21 阅读更多 →
VS2017下OpenCV与OpenCL环境搭建及T-API加速实战

VS2017下OpenCV与OpenCL环境搭建及T-API加速实战

1. 为什么要在 Visual Studio 2017 上折腾 OpenCL 与 OpenCV先把话说在前头:这个组合放到今天看,确实有点"考古"的味道。Visual Studio 2017 是 2017 年发布的 IDE,OpenCV 的版本迭代早就跑到了 4.x 甚至更高,OpenCL 的…

2026/10/17 5:17:21 阅读更多 →
Python+AI智能家居系统实战:Flask+MQTT+传感器数据采集与AI决策

Python+AI智能家居系统实战:Flask+MQTT+传感器数据采集与AI决策

智能家居这个词现在几乎被用烂了,随便一个能连WiFi的插座都敢叫自己智能家居。但真正动手做过一套完整系统的人都知道,从"能远程开关灯"到"住起来真的舒服",中间隔着的不是一两个传感器,而是一整套数据采集、…

2026/10/17 5:17:21 阅读更多 →

最新新闻

单目相机加平面镜实现低成本三维重建:镜像虚拟多视角采集与3DGS实践

单目相机加平面镜实现低成本三维重建:镜像虚拟多视角采集与3DGS实践

搞三维视觉的朋友估计都遇到过这种尴尬:明明只需要重建一个小物件或一片室内场景,手里却只有一台普通相机。买一套多相机阵列?成本直接起飞。手持环绕拍一圈?又容易丢特征、糊成一片。我自己前阵子在某实验室折腾一个代号叫“某跨…

2026/10/17 11:53:35 阅读更多 →
Agent RL新架构重塑强化学习:从学动作到学推理,训练逻辑全面升级

Agent RL新架构重塑强化学习:从学动作到学推理,训练逻辑全面升级

Agent RL这个词最近在圈子里密集出现,如果你还停留在“强化学习打游戏、跑仿真、调DQN”的老印象,那接下来要聊的内容可能会彻底刷新你的认知。我最近几个月一直在跟进这个方向,也亲手搭了几套不同规格的训练流程,最大的感受是&am…

2026/10/17 11:53:35 阅读更多 →
基于混合专家模型MoE的Agent长程记忆架构设计与实操

基于混合专家模型MoE的Agent长程记忆架构设计与实操

1. 从一篇中稿论文说起:Agent长程记忆到底卡在哪Agent(智能体)这个概念这两年已经被说烂了,但真正动手做过长程任务的人都知道,最让人头疼的从来不是模型会不会调用工具,而是它记不住。你让它跑一个跨越几十…

2026/10/17 11:53:35 阅读更多 →
监控视角工地工程车辆检测数据集VOC+YOLO格式实战解析

监控视角工地工程车辆检测数据集VOC+YOLO格式实战解析

做工地智慧安监的朋友应该都有同感:模型在测试集上跑得再漂亮,一挂到现场监控上就原形毕露。尤其是工程车辆检测,通用数据集里大多是自动驾驶视角的平视照片,换成工地固定点位摄像头的俯视监控画面,角度一变、距离一变…

2026/10/17 11:53:35 阅读更多 →
SQL注入自动化实战:Less-16双引号闭合与布尔盲注脚本详解

SQL注入自动化实战:Less-16双引号闭合与布尔盲注脚本详解

sqli-labs整套靶场我前前后后刷过两遍,Less-16属于那种看着不难、上手就卡住的关卡。前面几关要么是字符型注入能直接回显,要么是报错信息直接摆在页面上,到了Less-16突然变成POST登录框,没有回显点,也不输出数据库报错…

2026/10/17 11:53:35 阅读更多 →
RAG知识库问答系统搭建指南:原理、代码与调优

RAG知识库问答系统搭建指南:原理、代码与调优

先聊一个常被问起的问题:大模型知识更新慢、还容易一本正经地胡编,这种情况怎么破?业界给出的主流答案就是RAG(Retrieval-Augmented Generation,检索增强生成)。RAG的核心思路并不玄乎——给大模型外挂一个…

2026/10/17 11:52:35 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →