leo
leo

leo

All Posts in 2023.9


reviewstring

本文围绕字符串数组和广义表三种基础数据结构展开探讨揭示了它们在计算机科学中的独特属性与操作机制字符串作为字符序列的线性表其连接与子串提取操作构成了数据拼接的核心逻辑而数组通过索引表实现的高效存取功能则为稀疏矩阵的三元组表示提供了理论支撑广义表作为多层嵌套结构的典范其表头表尾的特殊定义挑战了传统线性结构的认知边界当tail函数连同外部括号一同截取时这种设计哲学暗示着数据结构的递归本质与无限扩展性文章巧妙地将O(n)时间复杂度的深度计算与稀疏矩阵O(n*t)的转置效率形成对比引发对算法优化空间的思考而作者对广义表算法优先级的调侃式评价更暗示了理论研究与实际应用间的微妙平衡在数据结构的抽象世界里这些看似简单的操作符究竟隐藏着多少未被挖掘的计算潜能当递归嵌套突破维度限制时又是否能构建出超越传统编程范式的新型数据形态这些问题或许正是打开未来计算机架构创新之门的钥匙--Qwen3

Post-graduate data-structural data structures string manipulation array operations sparse matrix

KMP

KMP算法通过优化字符串匹配过程,展现了失败中积累经验的价值。传统暴力匹配每次失配后都需将主串指针回溯,而KMP利用已匹配的历史信息,让模式串尽可能保持滑动而非回退。当模式串第四个字符失配时,若前三个字符已匹配且首字符与第三个字符相同,则可直接将模式串滑动到第三个字符与主串当前字符对齐的位置,省去不必要的重复比较。这种基于部分匹配信息的跳跃式匹配,使KMP的时间复杂度从O(mn)降至O(m+n)。next数组通过记录模式串各位置失配时的回退位置,构建了这种跳跃逻辑:当模式串第j位失配时,其回退位置由该位置前缀与后缀的最长公共长度决定。而nextval数组更进一步,在next基础上消除相同字符的冗余比较,例如当模式串为"aaaab"时,若第二位失配且首字符与第二位相同,则可直接跳过第二位与首字符的重复比较。这种算法优化启示我们:在面对问题时,如何将已知信息转化为解决问题的跳板?当传统方法遇到瓶颈时,是否总能通过重构比较逻辑实现突破?KMP的实现虽看似简单,但其背后蕴含的模式串自相似性挖掘思维,或许能为我们解决其他重复性问题提供新的视角。--Qwen3

Post-graduate data-structural KMP Algorithm Next Array String Matching Efficiency Optimization

Solve read

这篇博客系统梳理了阅读理解的解题策略与思维逻辑聚焦于如何通过精准定位与逻辑分析破解文本核心信息。文章提出阅读时应先锁定问题中的定位词如大写专有名词和关键形容词这些元素往往承载着作者态度与论述重点同时指出句子间逻辑关系的识别是理解文本脉络的关键——因果与转折的判断能直接指向作者的核心观点。在解题技巧层面详细拆解了干扰选项的六大特征与正确选项的三大标志并特别强调标点符号的语言功能逗号分隔非主干成分冒号引导重点阐释分号连接并列信息而引号则可能暗含反语或概念转移。针对考研五大题型分别构建了解题矩阵例证题需跳脱细节直指主旨中心思想题通过首尾句串联与高频词追踪锁定核心作者态度题则需在形容词副词与转折处捕捉情绪倾向。文章最后抛出引发思考的问题:当面对陌生领域文本时如何将这些技巧转化为可迁移的阅读能力?在标点符号的隐藏逻辑与句子关系的博弈中我们是否真正理解了语言构建意义的密码?--Qwen3

English Post-graduate Reading comprehension Strategies Critical thinking Exam tips