自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STL 底层容器与内存模型总结(1)

今天的复盘打通了从底层原理到上层算法的链路。内存分两块栈是弹夹自动弹,堆是仓库手动管。数据分快慢Vector连续跑得快(PNC主力),Deque分段两头快(队列主力)。找中位数/第K大:不要无脑 Sort,nth_element最最快(KD-Tree 建树必用)。面试防坑:问queue底层别说 Vector,头删太慢要搬家;默认是用Deque扛。

2026-01-23 21:00:16 599

原创 Dijkstra 和 A* 小结

数据结构“BFS 用 Queue,A* 用 Priority_Queue。公式“F = G + H,过去 + 未来。流程“出堆找邻居,算算新 G 值;如果路更短,入堆等下轮。

2026-01-22 10:37:11 632

原创 回溯与网格搜索小结

引用陷阱:涉及递归传参,vector只要是为了修改或共享,无脑加。字符陷阱:看到,判断相等时必须写== '1'(带单引号),千万别写== 1。行列陷阱是行数,是列数。是赌博(万一只有一行就挂了)。BFS 作用域mins++永远在for(size)循环的外面ganran标记永远在for(size)的里面。

2026-01-21 21:59:43 530

原创 回溯与网格DFS小结

传参口诀“大容器,加引用;要修改,加引用。vector做参数默认都加上回溯口诀“进(Push) -> 搜(Recurse) -> 退(Pop)。这三步缺一不可。网格口诀“越界水,回头跑;见陆地,炸平岛。字符陷阱:看到char类型的地图,脑子里警铃大作 ——记得加单引号!

2026-01-21 17:18:41 371

原创 二叉树总结(1)

从“看不进去书”到“手撕代码”,我总结了针对小白的SLAM 算法岗突击心法放弃“完美理解”:代码跑通了,你就懂了一半。看不懂逻辑时,用cout把过程打印出来,立马就神清气爽了。框架大于细节看到找最短/层序-> 此时无脑想。看到找所有路径/深度-> 此时无脑想。看到叶子/路径-> 记得带上。生存语法包structpush_backpop_backfronttopsizeempty。指针操作永远用->,判断永远用==。致同路人:如果你也觉得自己基础差、效率低,请关掉书本,打开编译器,

2026-01-21 11:09:50 666

原创 栈与队列总结(2)

为什么必须写:原因:C++ 模板参数必须**“对号入座”**。参数1(数据类型):必填。参数2(容器类型):选填(默认 vector)。参数3(排序规则):选填(默认大顶堆)。坑点:因为我们要修改参数 3(改成小顶堆),所以必须把参数 2 也显式填上来占位!哪怕用的就是默认的 vector。今天的学习让我明白,“看不懂”通常不是因为我不聪明,而是因为我不了解它背后的设计哲学(比如模板参数的占位规则)或者隐藏机制(比如 map 的自动初始化)。肌肉记忆口诀:括号匹配、递归回退-> 用Stack。

2026-01-06 19:50:29 571

原创 链表 (Linked List) 总结

指针定义:结构体内部指针必须写全名ListNode*。空指针解引用:操作cur->next之前,必须保证cur不是NULL。写while循环条件时要格外小心。虚拟头结点:凡是涉及到“可能删除头结点”的操作,无脑上 Dummy Head,代码能省一半if。内存管理:C++ 中delete是基本素养。心态调整看不懂代码时,不要死盯着屏幕。拿纸笔画图!把指针画成箭头,模拟一遍代码流程,瞬间就懂了。像“反转链表”这种反直觉的操作,第一次看不懂很正常,多模拟两次就变成了“肌肉记忆”。

2026-01-04 16:00:26 502

原创 哈希表 (Hash Table) 笔记

哈希表是算法面试中的“必考题”,也是 SLAM 开发中处理数据的基石。核心口诀:查找判重用 Set,需要下标用 Map,数值虽小用 Array。

2026-01-04 15:55:13 562

原创 【C++练习】:从二分查找看懂底层逻辑——理解内存管理

C++ 的学习曲线虽然陡峭,但每一个复杂的机制背后都有其对性能的极致追求。二分法不仅仅是查数,更是理解索引和边界的试金石。调试能力决定了解决 Bug 的速度。理解内存(Capacity vs Size)是写出高性能 SLAM 代码的第一步。Next Step: 掌握了 Vector,接下来练习智能指针 (Smart Pointers)

2025-12-20 22:34:53 546

空空如也

空空如也

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

TA关注的人

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