
笔记
文章平均质量分 80
Gavynlee
旁人若问其中意 且到寒寨吃苦茶
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串的排列
题目描述面试题38.输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。分析解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!)对于无重复值的情况固定第一个字符,递归取得首位后面的各种字符串组合;再...原创 2020-03-05 15:48:20 · 184 阅读 · 0 评论 -
C++常见知识点(四)
优先队列如何按照pair 的第二关键字排序(对比vector按照pair第二关键字排序)原创 2021-10-07 22:51:57 · 113 阅读 · 0 评论 -
VsCode配置C++/Cmake
Referencehttps://zhuanlan.zhihu.com/p/87864677步骤1、安装VSCode,直接在 官网下载 安装即可2、配置C/C++环境,安装MinGW编译器,也可以在 官网 下载安装3、MinGW编译器刚才下载的是个下载器,直接双击安装,配置X86和WIN32,指定下载目录(需要记住,之后会用,并且目录不能有空格)4、下载完成之后,将刚才下载目录下的bin文件夹目录配置到环境变量里5、CMD窗口输入gcc -v不报错就证明配置成功6、VSCode中搜索C原创 2021-07-23 21:15:31 · 3014 阅读 · 3 评论 -
string中c_str()用法总结
c_str()函数用于string与const char之间的转换;string.c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址;c_str函数的返回值是const char的,不能直接赋值给char*,所以就需要我们进行相应的操作转化。//标准库的string类提供了三个成员函数来从一个string得到c类型的字符数组//主要介绍c_str//...原创 2020-02-09 11:01:23 · 12505 阅读 · 6 评论 -
论文中涉及的格式排版问题
图片字号A4纸尺寸:210mm×297mm小五字体对应9号在excel等软件中的图片大小设置好后,在word中保持大小不变则字体会正确初号=42磅=14.82毫米 (CAD高=10.77mm)小初=36磅=12.70毫米 (CAD高=9.23mm)一号=26磅=9.17毫米 (CAD高=6.67mm)小一=24磅=8.47毫米 (CAD高=6.15mm)二号=22磅=7.76毫米 (CAD高=5.64mm)小二=18磅=6.35毫米 (CAD高=4.62mm)三号=16磅=5原创 2021-02-14 21:14:39 · 1832 阅读 · 0 评论 -
evo 评测工具的使用
Reference官方wikiSLAM 轨迹评估工具EVO评价SLAM算法的一些指标及评价工具evo的使用方法[VIO|实践]evo测评工具的安装与使用使用evo工具评测SLAM算法性能并可视化结果轨迹评估工具使用总结(二) evo 绘图& ROS map评价指标绝对轨迹误差(ATE:abosulte trajectory error):直接计算相机位姿的真实值与SLAM系统的估计值之间的差,程序首先根据位姿的时间戳将真实值和估计值进行对齐, 然后计算每对位姿之间的差值, 并最终原创 2021-01-26 09:57:52 · 652 阅读 · 0 评论 -
linux基础
1.chmod +xchmod +x的意思就是给执行权限1.1 介绍(1)LINUX下不同的文件类型有不同的颜色,绿色文件: 可执行文件,可执行的程序红色文件:压缩文件或者包文件蓝色文件:目录白色文件:一般性文件,如文本文件,配置文件,源码文件等浅蓝色文件:链接文件,主要是使用ln命令建立的文件红色闪烁:表示链接的文件有问题黄色:表示设备文件灰色:表示其他文件(2)因...原创 2020-04-17 17:42:53 · 323 阅读 · 0 评论 -
计算机网络
TCP的三次握手与四次挥手理解序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。确认ACK:占1位,仅当ACK=1时,原创 2020-09-20 00:04:37 · 640 阅读 · 0 评论 -
设计模式-C++
面向对象程序设计(OOP)的设计模式的五大原则1、单一职责原则英文名称是Single Responsibility Principle,简称SRP。定义为就一个类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。单一职责有2个含义,一个是避免相同的职责分散到不同的类中,另一个是避免一个类承担太多职责。减少类的耦合,提高类的复用性。2、接口隔离原则英文全称是InterfaceSegregation Principles,简称ISP。定义为客户端不应该依赖它原创 2020-09-17 23:16:14 · 1014 阅读 · 0 评论 -
C++ 11新特性
emplaceSTL - emplace 与 push 的区别c++ – emplace与insert的区别(C++11)原创 2020-09-15 15:48:20 · 149 阅读 · 0 评论 -
常见查找-排序算法C++实现
//// Created by Jiwen-LI on 2020/8/22.///*************************************************************************** 查找算法***************************************************************************///二分法查找int BinarySearch(int a[],int val,int n){原创 2020-08-24 16:02:17 · 408 阅读 · 0 评论 -
查找算法总结
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。树表查找和哈希查找会在后续的博文中进行详细介绍。查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值...原创 2020-02-12 10:41:19 · 1092 阅读 · 0 评论 -
Gtest集成Lcov代码覆盖率测试
配置环境安装下载lcov:http://ltp.sourceforge.net/coverage/lcov.php,有rpm包和源码包。(以源码包为例)解压lcov-x.xx.tar.gz,进入源码包,执行make install在命令行执行lcov -v,正确输出版本号即安装成功增加Lcov编译选项在项目顶层目录CmakeLists.txt中添加以下编译指令:# coverage optionOPTION (ENABLE_COVERAGE "Use gcov" ON)MESSAGE(原创 2020-08-05 19:21:39 · 3156 阅读 · 0 评论 -
二叉树的三种遍历的实现(c++)
先序遍历PreOrdervoid PreOrder(BiTree T)//先序递归遍历{ if(T!=NULL) { cout<<T->data<<" "; PreOrder(T->lchild); PreOrder(T->rchild); }}void SqlPreOrder...原创 2020-03-21 10:06:25 · 371 阅读 · 0 评论 -
C++学习(三)-内存管理
Referencec++中为什么可以通过指针或引用实现多态,而不可以通过对象呢?原创 2020-08-02 16:21:14 · 457 阅读 · 0 评论 -
配置cuda9.0 Opencv 等
OpenCv安装https://blog.youkuaiyun.com/heiheiya/article/details/82590601https://blog.youkuaiyun.com/heiheiya/article/details/82497211原创 2020-02-08 23:19:21 · 297 阅读 · 1 评论 -
C++学习(二)
1、 strlen()与sizeofstrlen只能用char*做参数,且该char数组必须是以’’/0’'结尾的。数组做sizeof的参数不退化,传递给strlen就退化为指针了。详细说明可参见: 百度知道: strlen和sizeof有什么区别?注意:大部分编译程序 在编译的时候就把sizeof计算过了 是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因 。所以,sizeof 即使在字符数组没有终止符’/0’ 的时候,也能够计算出数组“长度”的原因,但这里的“长度”实际上是原创 2020-06-30 20:39:59 · 917 阅读 · 0 评论 -
Cmake小结
一、CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:cmakemakecmake 指向CMakeLists.txt所在的目录,例如cmake … 表示CMakeLists.txt在当前原创 2020-06-09 11:14:54 · 2535 阅读 · 0 评论 -
数据结构-图
一、图的存储结构1.1 邻接矩阵1.2 邻接表1.3 十字链表二、广度优先搜索树( BFS)2.1 定义2.2 C实现2.3 性能分析2.4 BFS算法应用2.5 广度优先生成树三、深度优先搜索树( DFS)3.1 定义3.1 C实现3.3 性能分析3.4 深度优先生成树...原创 2020-02-18 08:21:32 · 217 阅读 · 0 评论 -
OpenCV标定双目相机配置ORB-SLAM
标定程序//// Created by gavyn on 20-4-27.//#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/calib3d/calib3d.hpp"#include "opencv2/highgui/highgui.hpp"#include <vector>#include <string>#include <al原创 2020-05-20 17:54:11 · 955 阅读 · 0 评论 -
clion中配置ROS工程
一、启动安装好ROS & CLION用命令行启动clionsudo gedit ~/.bashrc#在bashrc文件中加入export PATH="/home/gavyn/APPS/clion-2019.1.4/bin:$PATH" #地址根据自己改#保存退出source ~/.bashrc#此时即可点击clion图标启动,也可以通过命令行启动,方法如下:#在工作空间(例如:/home/gavyn/桌面/catkin_example)目录下打开终端,执行:source de原创 2020-05-15 16:14:20 · 1425 阅读 · 0 评论 -
对bag中归一化的加速度乘以g
一、MultiplyGravity.cpp#include <opencv2/core/mat.hpp>#include <opencv2/highgui.hpp>#include <ros/ros.h>#include <rosbag/bag.h>#include <std_msgs/Int32.h>#include <std_msgs/String.h>#include <sensor_msgs/Imu.h>原创 2020-05-15 11:49:50 · 340 阅读 · 1 评论 -
常用Python脚本
对文件下下所有图片进行编号#coding=utf-8import osclass ImageRename(): def __init__(self): self.path = '/home/gavyn/桌面/data2/left/right' def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) i = 0原创 2020-05-11 18:22:58 · 241 阅读 · 0 评论 -
git入门
1.设置github秘钥https://www.cnblogs.com/long5683/p/10629235.html2.git分支使用方法在这里插入图片描述原创 2020-11-02 11:30:27 · 623 阅读 · 0 评论 -
OpenCV常见函数
imread()opencv imread()方法第二个参数介绍原创 2020-05-06 09:33:31 · 181 阅读 · 0 评论 -
C++中String总结
一. string的构造函数的形式:string str:生成空字符串 eg: string str1; //生成空字符串string s(str):生成字符串为str的复制品(直接初始化,下图string s2=s1为拷贝初始化) eg: string str2("123456789"); //生成"1234456789"的复制品string s(str, str...原创 2020-02-08 23:11:49 · 459 阅读 · 0 评论 -
C++学习(一)
1.sizeof运算符(1) 定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。(返回一条表达式或者一个类型名字所占的字节数。——C++ Primer)(2) 语法sizeof有三种语法形式:1) sizeof (object); //sizeof (对象)2) sizeof object; //sizeof 对象3...原创 2020-02-03 16:24:01 · 1386 阅读 · 0 评论 -
剑指offer总结
第一次刷刷剑指offer历经两个多月(2020.2~2020.3),由于基础薄弱,现在基本上都忘记了,这一次计划性二刷并进行相应总结。 ------- 2020.5.2于武汉字符...原创 2020-05-02 07:00:10 · 216 阅读 · 0 评论 -
C++ char * 和char[]的区别以及怎样与string类型进行转换
由于之前一直使用string类型来操作字符串,这几天突然看了几个程序,发现对char[]和char*类型不甚了解,然后从网上查看了几篇博客,在此进行以下总结。博客如下:http://blog.youkuaiyun.com/liruxing1715/article/details/6715503http://blog.youkuaiyun.com/yahohi/article/details/7427724一、cha...原创 2020-04-23 20:42:24 · 2124 阅读 · 0 评论 -
GCC编译与GDB调试
一、GCC编译警告提示功能代码优化功能调试功能二、GDB调试器GDB简介GDB常用命令GDB调试初步GDB详细使用原创 2020-04-29 22:06:57 · 465 阅读 · 0 评论 -
文件读取(输入输出)
一、FileStorageOpenCV提供了一种序列化和反序列化的机制,用于将不同数据类型的数据以YAML或XML格式写入磁盘或者从磁盘读取。这种方法可以用来加载或者保存任何OpenCV的数值变量(包括基本数据变量,像int和float等)到一个文件中。上述文件读写的基本机制是建立在cv::FileStorage对象基础上的,cv::FileStorage实际代表磁盘中的一个文件,但与普通方式...原创 2020-04-29 12:00:31 · 500 阅读 · 0 评论 -
安装ROS报错——sudo rosdep init
参考【1】【2】sudo rosdep init ERROR: cannot download default sources list from:在本地新建对应目录/etc/ros/rosdep/sources.list.dsudo mkdir -p /etc/ros/rosdep/sources.list.d并定位到该目录:cd /etc/ros/rosdep/sour...原创 2020-04-27 18:27:34 · 478 阅读 · 0 评论 -
相机标定和ORBSLAM2/VINS测试
标定目的摄像机标定分为两部分:1.从世界坐标系转换到相机坐标系,由于这两个坐标系都是三维的,所以这一部分就是三维空间转到另外一个三维空间2.从相机坐标系转换到图像坐标系,由于图像坐标系是二维的,所以这一部分就是三维空间转到另外一个二维空间在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就...原创 2020-04-27 09:18:12 · 3643 阅读 · 3 评论 -
【算法专题三】回溯法/DFS
算法思想定义:回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。1、回溯法适用:有许多问题,当需要找出它的解集(全部解)或者要求回答什么解是满足某些约束条件的最优解时,往往要使用回溯法。2、有组织的穷举式搜索:回溯法的...原创 2020-02-18 17:42:48 · 501 阅读 · 0 评论 -
排序算法
参考选择排序冒泡排序快速排序快速排序(Quick Sort) 是由冒泡排序改进而得的。在冒泡排序过程中, 只对相邻的两个记录进行比较, 因此每次交换两个相邻记录时只能消除一个逆序。如果能通过两个(不相邻)记录的一次交换, 消除多个逆序, 则会大大加快排序的速度。快速排序方法中的一次交换可能消除多个逆序。快速排序的本质就是把基准数大的都放在基准数的右边,把比基准数小的放在基准数的左边...原创 2020-02-14 17:30:24 · 474 阅读 · 0 评论 -
STL学习总结
https://blog.youkuaiyun.com/weixin_42513339/article/details/89179655https://blog.youkuaiyun.com/xiongya8888/article/details/97529416关联容器关联容器支持高效的关键字查找和访问,两个主要的关联容器是map和set,map中的元素是一些关键字-值(key-value)对:关键字起到索引的作...原创 2020-04-25 16:29:29 · 733 阅读 · 0 评论 -
C++ Vector总结
参考原创 2020-02-09 14:39:45 · 1589 阅读 · 0 评论 -
硬币找零问题-详解动态规划
问题引入动态规划特点递归解法存在的问题:动态规划步骤第一步:确定状态第二步:确定转移方程第三步:确定初始条件和边界条件第四步:确定计算顺序原则:当要计算等式左边F(X)是,右边的应该都已经计算出来了小结...原创 2020-03-12 23:01:15 · 1762 阅读 · 1 评论 -
多进程与多线程
一、多线程是什么?什么是线程,什么是进程进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。那么多线程就很容易理解:多线程就是指一个进程中同时有多个线程正在执行。为什么要使用多线程?在一个程序中,有很多的操作是非常耗时的,如数据库读写操作,I...原创 2020-03-30 17:31:35 · 240 阅读 · 0 评论