图遍历:BFS、DFS与拓扑顺序

图把对象作为顶点,把关系作为边。先明确方向、是否带权、是否允许重边和自环,再选存储形式。邻接表占 O(V+E),适合稀疏图;邻接矩阵占 O(V²),查一条边方便,但遍历全部邻居要扫描整行。 ...

2026年10月24日 · 3 分钟 · Cinna

线性容器:数组、链表、栈与队列

数组、链表描述存储和连接方式,栈、队列描述操作约束。栈可以由动态数组实现,队列也可以由环形数组或链式结构实现;接口相同不代表成本相同。 访问模式比名字更重要 连续数组按下标定位元素,支持随机访问,插入中间位置通常需要搬动后续元素。Python list 是可变长度的序列容器,适合尾部追加与弹出;pop(0) 要移动剩余引用,不适合反复出队。deque 支持两端快速加入和移除,中间随机索引会逐渐变慢。 ...

2026年10月24日 · 3 分钟 · Cinna

正逆运动学、雅可比与奇异性

正运动学从关节状态计算末端位姿;逆运动学从目标位姿寻找关节状态。逆解可能有多个、没有,也可能形成连续的一族。得到一个逆解之后,还要检查关节限位、自碰撞、环境碰撞与邻近轨迹的连续性。 ...

2026年10月24日 · 2 分钟 · Cinna

状态估计:Kalman、EKF与粒子滤波

状态是系统内部用于预测未来的量,观测是传感器实际读到的量。编码器速度、相机位姿、IMU与运动模型各有误差;状态估计需要说明它们在什么假设下组合,以及组合后还有多少不确定性。 ...

2026年10月24日 · 3 分钟 · Cinna

字符串算法:前缀、匹配与编码边界

字符串算法处理的是符号序列,首先要说明“一个字符”指什么。Python str 按Unicode码点索引,不按UTF-8字节索引,也不保证一个下标就是屏幕上的一个完整字形。组合音标、表情组合和大小写折叠都可能改变比较与位置的含义。 ...

2026年10月24日 · 3 分钟 · Cinna

综合练习:本地倒排索引与检索

每次搜索都扫描全部文章,逻辑简单,但同一份文本会被反复处理。倒排索引先把文本拆成词项,保存“这个词项出现在哪些文档”,查询时再合并候选集合。本练习用标准库建立一个本地原型,重点是索引不变量和正确性,并不替代博客现有的搜索实现。 ...

2026年10月24日 · 4 分钟 · Cinna

综合练习:依赖调度与关键路径

一个构建或内容处理任务通常有前置依赖:先取得资源,再解析、生成索引和缩略图,最后发布结果。把任务作为顶点,依赖作为有向边,就可以先检查是否可执行,再计算理论上的最早完成时间。 ...

2026年10月24日 · 3 分钟 · Cinna