LEGO-LOAM代码阅读之 imageProjection 这些定义在分析函数时会逐渐明确其含义//NodeHandle 是ROS中与节点通信的主要接口之一//ros::Subscriber 是 ROS (Robot Operating System) 中用于创建消息订阅者的一个类,允许节点从特定的话题(topic)接收消息。//主要用于://订阅一个话题,从中获取发布的消息。//指定一个回调函数来处理接收到的消息//此处用于接收来自激光雷达(Lidar)传感器的数据。
排序之归并排序 二路归并属于迭代式算法。每步迭代中,只需比较两个待归并向量的首元素,将小者取出并追加到输出向量的末尾,该元素在原向量中的后继则成为新的首元素。如此往复,直到某一向量为空。最后,将另一非空的向量整体接至输出向量的末尾。
二分查找和斐波那契查找 表面上看,后一调整存在风险,此时只能确定切分点arr[mid]>target ,“贸然”地将arr[mi]排除在进一步的查找范围之外,似乎可能因遗漏这些元素,而导致本应成功的查找以失败告终。也就是说,无论朝哪个方向深入,都只需做1次元素的大小比较,其二,统一沿两个方向深入所需要执行的比较次数,比如都统一为一次。在有序向量中的查找,遇到重复的元素时会返回秩最大的那个,上述查找无法实现这个功能,因此加以改进。所以这样的话,想进入左半区间,进行一次比较,想进入右半区间,会进行两次比较,右侧比较会多。
堆结构、堆排序 是完全二叉树,类似这种样式的而这种有右子节点,没左子节点的就不是完全二叉树分为大根堆和小根堆大根堆是二叉树里每一颗子树的父节点都是这颗子树里最大的,即每一棵子树最大值是头节点的值小根堆相反把数组中从0开始的一段数人为想为完全二叉树某一节点的数在数组中的索引是i,则它的父节点为(i-1)/2,它的左子节点为(2i+1),右子节点为(2i+2)
算法与数据结构(C++)之简单排序算法 两个数交换,一种思想是通过创建一个中间变量来当作桥梁;另一种思想是通过位运算,两个数异或,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。同时异或可以看作无进位相加,异或也满足交换律和结合律交换:a=甲b=乙//经过下面三步完成交换a=a异或b;就是 a=甲 异或 乙,b还是乙b=a异或b;就是 b= (甲 异或 乙)异或 乙=甲 异或(乙 异或 乙)=甲 异或 0=甲,a还是(甲 异或 乙)a= a异或 b;
荷兰国旗问题 一个数组可以设一个变量记录小于等于num的数所在区域,另一个变量指示当前数组的数,当数组的数小于等于num时,该数和区域右侧相邻那个数交换,区域加一,【i】<=num,【i】和小于区域下一个交换,小于区域右扩,i+1,因为,i和小于区域之间是大于或等于num的数,是已知的【i】 >num时,i+1。
小和问题和逆序对问题 在一个数组中,每一个数左边的数中比当前数小的数累加起来,叫做这个数组的小和,求一个数组的小和使用归并求小和的问题可以等效为:如求下面数组的小和通常的思路:1左边没有比1小的3左边比3小的:14左边比4小的:1,32左边比2小的:15左边比5小的:1,3,4,2加起来:1+1+3+1+1+3+4+2=16等效为:1右边有4个数比1大,则会小和中有4个1,413右边有2个数比3大,234右边有1个数比4大,142右边有1个数比2大,12。
QT学习之文件操作 QFile文件操作读文件需求按下按钮会弹出文件对话框,选中相应的文件后会把文件路径放到Line Edit中,文件中的内容会显示在下面的文本框中Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); //点击选取文件对话框,弹出文件对话框 connect(ui->pushButton,&QPushButton::c
QT学习之绘图 QBitmap是 QPixmap_的一个子类,它的色深限定为1,可以使用QPixmap_的isQBitmap(函数来确定这个QPixmap_是不是一个QBitmap。给图设备是指继承 QPainterDevice的子类。一共提供了四个这样的类,分别。是QPixmap、QBitmap、QImage和QPicture。QPicture_则可以记录和重现 QPainter_的各条命令。QPixmap专门方图像在屏幕上的显示做了优化。QImage.专门为图像的集素级访问做了优化。QT中的图片叫pixmap。
QT学习之自定义控件封装 然后在原WIdget的ui界面中拉一个和自定义的类型一致的Widget,点击Widget右键提升为,将类名粘贴过来,添加,全局,提升为,可以选择在ui界面进行封装,右键项目,添加新文件,Qt,QT设计器界面类,新建一个界面,,模板可以选Widget’然后拖一个Spin Box和Horizontal Slider,目的组成一个拉进度条,数字会发生相应变化的控件,并且添加其他自定义功能接口,获取当前值,以及设置值。逻辑上需要在代码中进行操作。在自定义控件类的构造函数中。
QT学习之QMainWindow QWidget为空窗口,QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar),多个工具栏(tool bars),多个锚接部件(dock widgets),一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础。
QT学习之初识 /需求//Teacher 类//Student 类//下课后,老师会触发一个信号,饿了,学生响应信号,请客吃饭所以需要创建一个老师和一个学生类右键项目–添加新文件–C++class选择–填写相应的类名,父类可以选择QObject。
C++学习之vector it!= v.end();it++)//iterator it其中iterator迭代器可以看作指针,所以it也是指针//指针通过解引用后的数据类型<>尖括号里的数据类型,现在是Person数据,可以有下面两种方法访问数据//cout << "姓名:" << (*it).m_name << "年龄:" << (*it).m_age << endl;