- 博客(23)
- 收藏
- 关注
原创 std::unordered_map 和 std::map的区别【C++】
std::map基于红黑树实现,支持有序遍历。查找、插入和删除操作的平均时间复杂度为 O(log n)。适用于需要按键的顺序访问元素或进行范围查询的场景。基于哈希表实现,不保证顺序。查找、插入和删除操作的平均时间复杂度为 O(1)。适用于需要快速查找、插入和删除操作的场景。选择哪种容器取决于你的具体需求,例如是否需要有序遍历、是否需要高效查找等。
2025-08-03 21:13:53
461
原创 vector<int> adjList[MAX] 和 vector<int> adjList(MAX)的区别【C++】
定义了一个数组,数组的每个元素是一个,常用于邻接表。:定义了一个大小为MAX的vector,常用于需要预先分配固定大小的场景。
2025-08-03 20:07:08
400
原创 字符串流的使用【C++】
头文件提供的字符串流类,用于处理字符串与数据之间的转换。希望这些解释能帮助你更好地理解和使用这些字符串流类!如果有任何疑问,请随时提问。:用于同时进行字符串的读取和写入操作。都是 C++ 标准库中。:用于从字符串中读取数据。:用于将数据写入字符串。
2025-08-02 15:36:07
369
原创 链表【数据结构】
链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。以下是链表的基本概念和操作,以及 C++ 中如何实现和使用链表。,这是一个双向链表的实现。它提供了丰富的操作接口,可以方便地进行插入、删除和遍历等操作。单链表是最简单的链表形式,每个节点包含一个数据域和一个指向下一个节点的指针。双链表的每个节点包含两个指针,一个指向前一个节点,一个指向后一个节点。循环链表的最后一个节点的指针指向链表的头节点,形成一个环。以下是一个简单的单链表实现,包括插入、删除和遍历操作。
2025-08-02 11:09:42
770
原创 最小堆和最大堆【C++】
是两种常见的二叉堆数据结构,它们在优先队列、排序算法(如堆排序)以及其他需要高效访问极值的场景中非常有用。以下是关于最小堆和最大堆的详细解释。,可以方便地实现最小堆和最大堆。C++ 标准库提供了。
2025-08-01 13:51:16
572
原创 arry和vector【C++】
在 C++ 中,数组是一种基本的数据结构,用于存储固定大小的同类型元素。数组的大小在声明时必须确定,并且在运行时不能改变。以下是关于 C++ 中数组的使用方法、特性以及一些常见的操作。数组的大小在声明时确定,不能改变。运算符获取数组的总大小(以字节为单位)。数组元素通过索引访问,索引从 0 开始。C++ 标准库提供了更灵活的容器,如。,因为它提供了更多的灵活性和安全性。如果需要动态分配数组,可以使用。,它们提供了更多功能和安全性。在实际编程中,建议优先使用。
2025-08-01 10:24:49
414
原创 赋值-浅拷贝-深拷贝【Python&C++】
赋值:不创建新对象,只是创建新的引用指向同一个对象。浅拷贝:创建新对象,但只复制顶层元素引用,嵌套对象共享引用。深拷贝:创建新对象,并递归复制所有嵌套对象,完全独立。在实际编程中,选择合适的拷贝方式取决于具体需求。如果数据结构简单或需要共享嵌套对象,浅拷贝是较好的选择;如果需要完全独立的副本,尤其是处理复杂嵌套结构时,应使用深拷贝。浅拷贝只复制对象的成员变量的值。对于指针成员,只是复制指针的地址,不复制指针指向的内存。可能导致**双重释放(double free)**错误。深拷贝。
2025-08-01 09:44:43
648
原创 位操作符【C++】
在 C++ 中,位操作符(位运算符)用于对整数类型的变量进行位级操作。这些操作符可以直接操作整数的二进制位,常用于高效处理底层数据、优化性能、实现加密算法等场景。
2025-08-01 09:35:19
1047
原创 C++常见容器中支持迭代器的类别【C++】
在 C++ 标准库中,适配器容器是一种特殊的容器,它们不直接存储元素,而是通过组合和封装其他容器(如 std::vector、std::deque 或 std::list)来实现特定的行为或接口。适配器容器提供了一种机制,使得现有的容器可以表现得像另一种类型的容器。
2025-07-30 19:26:09
367
原创 凸包与非凸包
想象在木板上钉了许多钉子(代表点集),用一个橡皮筋套住所有钉子后松开,橡皮筋收缩形成的形状就是这些钉子的。,融合了几何的简洁性与算法的实用性。理解它有助于解决从图形渲染到AI识别的各类问题。
2025-07-06 09:49:50
544
原创 【凸形状簇”和“非凸形状簇】
凸形状簇”和“非凸形状簇”这两个概念通常出现在几何学、计算几何、计算机图形学、模式识别和优化等领域。,而不是单个形状的性质。一个凸簇可以包含非凸个体,一个非凸簇也可以由全是凸的个体组成(取决于排列方式)。理解这两个概念的关键在于。,特别是关于这些形状的。
2025-07-06 09:45:06
1209
原创 【仿真测试】XIL
看到一篇介绍关于仿真测试介绍的文章::MIL、SIL、PIL和HIL是个啥?文章讲解的很详细,也很全面,记录在这里,也分享给需要的人。
2025-04-11 14:17:40
333
原创 【局部路径规划】DWA算法
DWA算法全称为,其原理主要是在速度空间vw中采样多组速度,并模拟在这些速度下一定时间内的运动轨迹。在得到多组轨迹以后,通过一个评价函数对这些轨迹进行评价,选出最优轨迹对应的速度来驱动机器人运动。
2024-12-16 16:39:56
3894
原创 Apollo中常用指令
输入全局配置参数同步指令,系统自动把全局配置参数复制到profile的default目录中,然后就可以在profile目录上轻松修改配置参数。压缩的目录:modules/planning/ profiles/default/,包含两部分,注意中间的空格。在配置tasks目录下的插件参数时,命令行中的路径tasks要改成task才行。使profile中default目录中配置的插件参数生效。复制响应插件参数到profile的default目录中。如:红绿灯失常、行人不触发、他车不触发等情况。
2024-05-27 11:17:36
564
原创 VS2017C++项目的源文件中如何引用头文件
3、进入项目的属性页界面后,找到C/C++中的常规,选中后,在属性页的右侧栏中找到附加包含目录,点击进去。2、找到需要添加头文件的项目文件,选中后,点击鼠标右键,在弹出的下拉菜单中找到属性。1、在VS2017中打开我们的项目文件,改成release。8、配置好后,就可以将头文件#include到源文件中了。4、在附加包含目录中找到,点击进去。7、回到属性页界面,先点击应用,再点击确定。5、在附加包含目录里面添加头文件所在的路径。6、添加头文件所在的路径后点击确定。
2023-08-28 16:51:54
2582
1
原创 ROS-CMakeLists.txt文件
CMakeLists.txt 是一个用于构建 CMake 项目的配置文件。CMake 是一个跨平台的构建系统生成工具,用于管理和构建软件项目。CMakeLists.txt 文件是在 CMake 中定义项目的基本配置和构建规则的文本文件。CMakeLists.txt 文件通常位于项目的根目录,并包含一系列的 CMake 命令和指令。这些命令和指令描述了项目的源代码文件、依赖项、编译选项、链接库、可执行文件等信息,以及项目的构建方式和生成目标。
2023-06-17 22:56:04
2532
1
原创 python之列表索引
#创建列表a=[]p = 0for t in range(5): a.append([]) for i in range(5): p += 1 a[t].append(p) print(type(a))[out][[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]<class 'list.
2022-01-20 15:55:24
4789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅