自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 问答 (1)
  • 收藏
  • 关注

原创 Ubuntu在线安装及卸载MySQL

2.3 再卸载 mysql-server-8.0。1.1 更新包管理工具apt-get。2.2 卸载mysql-common。1.2 安装MySQL服务器端。1.5 检查MySQL服务状态。1.3 安装MySQL客户端。2.1 查看MySQL依赖项。查看,还剩什么就卸载什么。2.5 清除残留数据。

2023-05-05 11:15:55 892

原创 CMake常用指令

尖括号:必选变量,方括号[ ]:可选变量,[E]竖线 | :或的意思,A|B|C参数之间使用空格或分号分开0.2 指令是大小写无关的,参数个变量是大小写相关的0.3 变量使用${}方式取值,但是在IF控制语句中是直接使用变量名。

2023-03-14 15:04:23 411

转载 C++互斥器:Mutex

本文转载自:https://www.cnblogs.com/davidsguo008/p/3610860.html互斥器的功能是,使多个线程和谐工作。同一时间内,只能有一个线程得到互斥对象,并获得资源操作权限,那么如果同一时间其他线程也想去操作资源,此时就会因为Mutex未处于激发状态,而无奈的等待…这时候,线程就会进入blocking(阻塞)状态,直到Mutex让出来。总结下Mutex的操作步骤,分为以下几个功能:1. 产生一个全局互斥器Mutex(一个Mutex可以看做一个资源,如果要.

2022-01-06 14:05:39 905

原创 C++ vector多维数组初始化

一维数组初始化:其中vec: 数组名;n: 数组大小vector<int> vec(n);vector<int> vec(n, 0);二维数组初始化:其中 vec: 数组名;rows: 数组行数;cols: 数组列数。vector<vector<int>> vec(rows, vector<int>(cols, 0));三维数组初始化:vector<vector<vector<in.

2021-12-22 14:26:37 2162

原创 声明中有const如何理解

三条rule1. 永远从右往左读一个变量声明。2. const永远修饰const出现地点左边的声明类型。3. 如果左边没有声明类型,就修饰右边。

2021-12-01 14:15:20 211

原创 C++类中有如vector, map等容器类成员时如何编写构造函数

假如一个类的成员函数如下:class A{ int a; vector<int> v; map<int, int> m;};编写构造函数有三种方式:①:默认构造函数②:容器不带参③:容器带参,像普通变量一样,使用 = 赋值;具体如下代码所示:class A{private: int a; vector<int> v; map<int, int> m;public: //默认构造函数; A() = defa

2021-11-17 17:09:10 1448 2

原创 C++实现二叉树相关问题(先序遍历,中序遍历,后序遍历,层序遍历,搜索二叉树、平衡二叉树、满二叉树、完全二叉树的判断,最低公共祖先,二叉树的序列化和反序列化)

题目一 二叉树递归和非递归递归序递归时,如果什么都不做,每个节点被访问的顺序。以上二叉树的递归序为:1, 2, 4, 4, 4, 2, 5, 5, 5, 2, 1, 3, 6, 6, 6, 3, 7, 7, 7, 3, 1基于递归序,对二叉树的遍历分为先序遍历,中序遍历和后续遍历。先序遍历:1, 2, 4, 5, 3, 6, 7(选取第一次出现的节点值,即第一次到达节点的时候打印,二、三次到达节点时什么也不做。)中序遍历:4, 2, 5, 1, 6, 3, 7(选取第二次出现..

2021-11-15 14:18:26 1810

原创 C++实现链表相关问题(反转单、双向链表,打印公共部分,判断回文结构,有没有环,链表相交)

0 概述链表分为单向链表和双向链表,在C++容器中为forward_list和list。在解决离链表的问题时,注意链表函数是否需要加返回值,如果链表的调整涉及到换表头的操作,返回值为node类型,不涉及的话,返回值可以为void。题目一:反转单向链表和双向链表。反转单向链表代码:...

2021-11-01 22:56:00 252

原创 C++实现十大排序算法(冒泡排序、选择排序、插入排序、希尔排序、归并排序、堆排序、快速排序、计数排序、桶排序和基数排序)

目录0 概述1 冒泡排序2 选择排序3 插入排序4 希尔排序5 归并排序6 堆排序7 快速排序8 计数排序9 桶排序10 基数排序本文为C++实现的十大排序算法及基于排序算法解决的一些常见问题,每一种算法均实际运行,确保正确无误。文中内容为自己的一些理解,如有错误,请大家指正。0 概述在十种排序算法中,前七种是比较类排序,后三种是非比较类排序,每种算法的最好、最坏、平均时间复杂度,空间复杂度以及稳定性如下表所示。稳定性是指排序前后相等的元素相对位置保.

2021-09-22 14:31:14 1695 3

原创 桶排序、计数排序、基数排序

目录1 计数排序2 桶排序3 基数排序除了前面所说的冒泡、选择、插入、希尔、归并、快排和堆排序这些基于比较的排序,还有桶排序、计数排序和基数排序三种非比较的排序,且时间复杂度是线性的。1 计数排序计数排序对于数据有较高要求,必须是有确定范围的整数。1.1 算法实现1)查找数组的最大值,并根据最大值来创建计数数组countArr中元素的个数;2) 统计原数组中各个元素出现的次数,countArr;2) 清空原数组,并根据counArr并重新创建原数组。1...

2021-09-16 17:33:57 83

原创 C++中获得int型数组元素个数的方法

sizeof()返回一个对象或类型所占的内存字节数;下面代码中的num_count为数组a[]的元素的个数。int a[] = {1, 3, 4, 2, 7};num_count = sizeof(a) / sizeof(size);

2021-09-14 10:21:26 1310

原创 归并排序、堆排序、快速排序

时间复杂度都是归并排序:选择排序:

2021-08-31 20:22:23 199

原创 冒泡排序、插入排序、选择排序、希尔排序

时间复杂度均为:O()冒泡排序void bubbleSort(vector<int> a, int n){ if (n <= 1) return a; for (int i = 0; i < n; ++i){ boolean flag = false; for (int j = 0; j < n - i -1; ++j){ if (a[j] > a[j+1]){

2021-08-30 10:33:49 82

转载 C++二分查找模板

转自:二分查找二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,具有很大的应用场景,而在LeetCode中,要运用二分搜索法来解的题目也有很多,但是实际上二分查找法的查找目标有很多种,而且在细节写法也有一些变化。根据查找的目标不同,二分查找法主要分为以下三类:第一类: 需查找和目标值完全相等的数这是最简单的一类,也是我们最开始学二分查找法需要解决的问题,比如我们有数组[2, 4, 5, 6, 9],target = 6,那么我们可以写出二分查找法的代码如

2021-08-25 13:44:10 369

转载 #图解 轻松看懂「指针的引用*&」

转自:#图解 轻松看懂「指针的引用*&」写这篇文章是因为指针的引用在数据结构中的树和图的算法中应用广泛。如指针一样,指针的引用容易使人困惑。我们注意到类似下面这种语法void func(int *&x){ ++x;}我猜你可能对int *&x有点疑惑。这叫做指针的引用。int *&x不要觉得看着复杂,其实一点也不复杂。我帮你拆开来看:按照C++程序员的习惯,指针“*”号是和类型放在一起的。C++中&是.

2021-08-12 15:46:01 376

原创 第六章 二叉树

目录6.1 二叉树的创建6.2 二叉树的遍历6.3 平衡二叉树6.4 二叉查找树6.5 平衡二叉查找树6.6 完全二叉树6.7 满二叉树6.1 二叉树的创建6.2 二叉树的遍历6.3 平衡二叉树6.4 二叉查找树6.5 平衡二叉查找树6.5.1 AVL树6.5.2 红黑树6.6 完全二叉树6.7 满二叉树...

2021-08-10 15:32:20 102

转载 对取模后余数的理解

转自:对取模后余数的理解取模和取余 通常情况下,取模运算(MOD)和取余运算(REM)被混为一谈,因为在大多数的编程语言里,都用" % " 符号来表示取模运算或者取余运算。所以有必要编写本文档,来为在此环节遇到问题的程序员理清思路,同时也提醒各位需要注意在不同编程语言环境下" % " 运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。首先,我们需要区分两者的概念。 取模(MOD):给定一个正整数p,任意一个整数n,一定存在等式 :n =...

2021-03-30 22:09:15 873

原创 【C++学习】P1 [1.1.1] 导学

1、C++支持的程序设计方法面向过程的程序设计方法 面向对象的程序设计方法 泛型程序设计方法2、C++程序的开发过程算法设计 源程序编辑 编译 连接 运行调试3、信息在计算机中的表示和存储二进制表示...

2020-08-15 12:35:19 119

原创 基于Window10使用VScode搭建C/C++开发环境

一、下载并安装VScode VScode下载地址二、下载并安装MinGW2.1、下载MinGW MinGW下载地址,提取码r40j...

2020-02-12 20:44:25 1462 1

转载 NTC热敏电阻温度计算方法,Steinhart-Hart方程和B值法

转自:NTC热敏电阻温度计算方法,Steinhart-Hart方程和B值法NTC热敏电阻随环境温度(T)升高,电阻值(R)会下降,反之,当温度(T)下降,电阻值(R)会上升。其对温度感应非常灵敏,NTC热敏电阻电路相对简单,价格低廉,组件精确,可以轻松获取项目的温度数据,因此广泛应用于各种温度的感测与补偿中。常规NTC热敏电阻参数:温度为(R25℃)时,阻值为10kΩ,B值(25/8...

2019-11-26 17:11:17 2946

原创 LabVIEW中for循环之索引隧道、循环隧道、移位寄存器

一、隧道和移位寄存器区别在LABVIEW的循环体内,传入和传出通道有隧道和移位寄存器两种方式,并且两者可以很方便的互相替换。其中,移位寄存器必须成对出现,否则会编译错误。如下为隧道输出和移位寄存器输出: 经编译运行后,得到的结果却迥然不同。隧道程序循环执行3次后输出的结果为3,移位寄存...

2019-11-04 10:40:19 12470

转载 windows下Git Bash使用教程

一:Git是什么?  Git是目前世界上最先进的分布式版本控制系统。  二:SVN与Git的最主要的区别?  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网...

2019-10-28 21:31:53 434

转载 git for windows快速入门教程

都说git是最好用的版本控制系统,以其独特的分布式版本控制、github的流行和强大的爹Linux系统之父linus将SVN等其它版本控制系统甩开几条街的距离。  然而在我要入坑的时候并没有找到很好的快速入门的git for windows的教程,github上的教学视频讲得太快让初学者跟不上,当然git官网的上的官方文档是很好的,也有中文版,不过得细看看很久,我花了两天的时间踩过很多坑才入门,...

2019-10-24 21:48:43 310

原创 【Git】之一 、配置User信息

命令如下:注意:命令之间单词用空格隔开,global表示对登录用户所有仓库有效,也可是local(只对当前仓库有效)、system(对系统所有有用户有效,一般很少使用)。...

2019-10-24 20:20:43 560

转载 python中append和extend函数区别

转自:python中append和extend函数区别append和extend都是python内置函数,都有扩展列表的元素功能,但两者的扩展方式是不同的。通过使用?list.append命令查看append函数帮助文档?list.appendDocstring: L.append(object) -> None -- append object to endType: ...

2019-07-17 15:48:23 250

转载 python单斜杠和双斜杠运算符的区别

转自:python单斜杠和双斜杠运算符的区别由于2.x版本不再更新,目前只讨论3.x版本的python。1、单斜杠(/)表示除法,且不管除数和被除数是不是整数,最后结果都是float类型。2、双斜杠(//)表示地板除,即先做除法(/),然后向下取整(floor)。至少有一方是float型时,结果为float型;两个数都是int型时,结果为int型。另外,地板除 floor(...

2019-07-17 11:02:38 1087

转载 Python中的assert关键字

转自:Python中的assert关键字基本上每一种编程语言中都有assert声明。总的来说,assert condition的意义是令程序测试condition,并在condition测试结果为false的时候抛出异常。在Python中,assert有两种形式:1.assert expression assert expression等同于如下代码:if _debug...

2019-07-15 21:40:43 1293

转载 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

转自:一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。PID(proportion integration differentiation)其实就是指比例,积分,微分控制。先把图片和公式摆出来,看不懂没关系。(一开...

2019-07-09 21:05:16 219

转载 内存泄漏和溢出的区别

转自:内存泄漏和溢出的区别溢出是满了溢出来,泄漏是使用过的内存未及时释放使得内存变小。内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽...

2019-07-06 09:36:24 787

转载 TypeError: sequence item 0: expected str instance, int found的解决办法

转自:TypeError: sequence item 0: expected str instance, int found的解决办法TypeError: sequence item 0: expected str instance, int found小例子:a = ['1','2','3',1]print(' '.join(a))以为会打印 1 2 3 1结果报了...

2019-07-05 11:08:23 28769 3

转载 如何通俗并尽可能详细解释卡尔曼滤波?

转自知乎:如何通俗并尽可能详细解释卡尔曼滤波?假设你有两个传感器,测的是同一个信号。可是它们每次的读数都不太一样,怎么办?取平均。再假设你知道其中贵的那个传感器应该准一些,便宜的那个应该差一些。那有比取平均更好的办法吗?加权平均。怎么加权?假设两个传感器的误差都符合正态分布,假设你知道这两个正态分布的方差,用这两个方差值,(此处省略若干数学公式),你可以得到一个“最优”的...

2019-06-12 14:36:10 218

原创 双曲正切函数和sigmoid函数 Python实现

import numpy as npimport matplotlib.pyplot as pltfrom scipy import specialx = np.linspace(-100, 100, 1000)y = np.tanh(x) #tanh函数z = special.expit(x) #sigmoid函数plt.figureplt.plot(x,...

2019-06-03 15:34:08 4182

转载 归一化的好处及归一化,标准化的处理方法

转自:数据标准化/归一化normalization这里主要讲连续型特征归一化的常用方法。连续型特征还有一种处理方式是,先分桶/分箱(如等频/等距的分)[待写]进行离散化后再使用离散数据的处理方法。离散数据处理参考[数据预处理:独热编码(One-Hot Encoding)]。基础知识参考:[均值、方差与协方差矩阵][矩阵论:向量范数和矩阵范数]数据的标准化(norm...

2019-06-03 09:57:20 4163

转载 导入Tensorflow出现ImportError: DLL load failed: 找不到指定的程序解决办法

转自:导入Tensorflow出现ImportError: DLL load failed: 找不到指定的程序解决办法安装Tensorflow后,运行程序时出现如上图错误,是因为protobuf的版本不匹配解决方法:打开cmd,输入:pip install protobuf==3.6.0如下图:然后再运行代码,就可以跑通了。总结一下,就是在cmd里输入:pip...

2019-05-23 21:18:35 7398 7

转载 最小二乘法多项式曲线拟合原理与实现

概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理[原理部分由个人根据互联网上的资料进行总结,希望对大家能有用]给定数据点pi(xi,yi),其中i=1,2,…,m。求近似曲线y= φ(x)。并且使得近似曲线与y=f(x)的偏差最小。近似曲线在点pi处的偏差δi= φ(xi)-y,i=1,2,...,...

2019-05-08 11:19:21 2872

转载 全面理解Python中的类型提示(Type Hints)

翻译自the state of type hints in Python众所周知,Python 是动态类型语言,运行时不需要指定变量类型。这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发者指定变量类型。它的主要作用是方便开发,供IDE 和各种开发工具使用,对代码运行不产生影响,运行时会过滤类型信息。...

2019-04-28 16:11:46 7696

原创 数据结构与算法(极客时间-王争)09丨队列

如何理解队列先进者先出,这就是典型的“队列”。支持的操作栈:入栈:push() 出栈:pop()队列: 入队:enqueue() 出队:dequeue()所以,队列跟栈一样,也是一种操作受限的线性表数据结构。作为一种基本的数据结构,队列应用非常广泛,特别是具有一些额外特性的队列,比如循环队列、阻塞队列、并发队列。它们在很多偏底层系统、框架、中间件的开发...

2019-04-26 14:11:18 842

转载 python中@property装饰器的用法

转自:Python3学习(24)--内置装饰器@property@property是python内置的一个装饰器,作用是将一个方法变成属性前面我们学过装饰器,我们知道,装饰器的作用就是用来扩展函数的,当然前面我们介绍的装饰器,都是我们自己定义的,格式如下:@decoretordef func(*args,**others)passf...

2019-04-17 11:10:26 647

转载 Python中下划线的5种含义

转自:Python中下划线的5种含义作者:地球的外星人君著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。分享一篇文章:The Meaning of Underscores in Python。本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类。...

2019-04-17 08:45:27 558

原创 Python装饰器 & 装饰器符号@的使用

装饰器装饰器是一个以函数作为参数并返回一个替换函数的可执行函数。简单来说就是装饰原有的函数。下面代码中的apply函数形参为函数func、变量x、y(在Python中,函数和其他任何东西一样,都是对象,这意味着可以将函数当做实参传递给函数,或者在函数中将函数作为返回值返回),apply函数相当于对func函数进行装饰,但还达不到装饰器的程度。1.py>>> de...

2019-04-16 11:19:04 869

空空如也

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

TA关注的人

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