自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++面试常见知识点

常见的八股知识点,面试问的多

2023-10-11 16:09:49 434

原创 【计算机网络黑皮书】传输层

这是对于中科大的计算机网络的网课的学习笔记,感谢郑烇老师的无偿分享 书籍是《计算机网络(自顶向下方法 第6版)》需要的可以私信我,无偿分享,课程简介下也有

2023-10-08 09:28:36 1394 1

原创 【计算机网络黑皮书】应用层

这是对于中科大的计算机网络的网课的学习笔记,感谢郑烇老师的无偿分享 书籍是《计算机网络(自顶向下方法 第6版)》需要的可以私信我,无偿分享,课程简介下也有

2023-10-02 17:52:26 1380

原创 【计算机网络黑皮书】入门必学的基本网络知识

【事先声明】这是对于的无偿分享书籍是《计算机网络(自顶向下方法 第7版)》需要的可以私信我,无偿分享,课程简介下也有。

2023-09-28 16:38:21 475

原创 基于GBDT与CART的回归决策树预测电影票房

项目没时间写博客,录了视频讲解。

2023-04-19 07:10:03 245 1

原创 52单片机与MH-Sensor-Series模块使用简单检测车轮转速

mh sensor series模块有四个口,VCC接5V,GND接地,还有A0与D0分别是模拟量与数字量的输出。如果使用,可以直接复制代码,然后修改引脚即可。使用的共阳极两段数码管。使用单片机的外部中断进行引脚检测。可以选择P3^2或者P3^3.还需要使用定时器中断来检测时间差。和单片机使用,就只用D0口即可.这里选择外部中断1,工作模式2。

2022-11-15 08:15:00 3604

原创 【数字图像处理】直方图均衡化与规定化

灰度级范围[0,L-1]的数字图像,在实际使用中,用哥灰度级的像素总数除以MN的整幅图像的像素数量,归一化到规律中进行计算,这样可以解除面积对哥灰度级在所有橡树中分布的影响,仅仅靠概率进行分析个灰度级的分布。在较暗的图像中,直方图的分量集中在灰度级的低段。低对比度图像具有较窄的直方图,且都集中于[0,L-1]的灰度级的某一部分,较为集中。高对比度图像的直方图的分量覆盖了很宽的灰度范围,且像素数量的分布也没有太不均匀,只有少数灰度级的像素数量要高出许多。

2022-11-10 22:07:22 5316

原创 【C++设计模式】面向对象设计模式

当一个UI类要依赖于(继承)其中元件的实现的类时,这个是不稳定的,当增加一个元件或者修改一个元件的实现方式,就会造成UI类的变化,是非常不稳定的设计,UI类与那些元件类都应该依赖于一个稳定的抽象类,利用多态的方式去实现元件的展示。对象接口与其功能实现是分离的,不同对象可以请求做不同的实现,两个具有相同接口的对象可以有完全不同的实现。2.抽象的稳定性不应该依赖于实现的细节,实现的细节会变化,实现的细节应该依赖于抽线的稳定。一个类想要增加该类的功能是允许的,但是想要修改本身就存在的功能是不允许的。

2022-10-22 12:23:46 563

原创 Leetcode-不同路径I和II(计数型动态规划)

机器人到达(m,n)位置,只能通过(m-1,n)+1和(m,n-1)+1到达,且机器人到达(m-1,n)/(m,n-1)也算通过其点的两个点达到…,以此类推假设m=1,n=1,那么从(0,0)到达(1,1)只有两种方法,到(1,0),(0,1),就是1+1。

2022-10-03 18:11:47 541

原创 Leetcode-跳跃游戏I和II(动态规划)

当可以跳跃到最后一个位置n-1时,考虑是从位置i跳跃到n-1的位置。i

2022-10-03 17:23:51 1045

原创 Leetcode.322-零钱兑换(最大/小型动态规划)

动态规划适用于:最大/小值,可不可行,计数问题这类集中场景本题,求解是否可以由指定面值的硬币完成兑换且统计最少需要的硬币的数量,可以使用动态规划来求解。动态规划。

2022-09-30 19:03:51 1417

原创 【笔记】快速理解傅里叶级数

对于此题,f(x)展开成余弦级数是拟合程度最高的,其余弦延拓出来的偶函数是连续的,不存在间断点。对于正弦级数,而是出现了第一类间断点处的”差异“。,计算出来的和函数,在第一类间断点处,并不是完全拟合,傅里叶级数拟和出来是和间断点的左右极限有关。对于一般函数,用泰勒展开-麦克劳林公式去拟合,对于求极限也算非常好用(等量代换:t=2*pi*x/(2*L)=x*pi / L。以上仅仅是我的粗略的笔记,如果有问题,烦请大佬指点。f(x)是周期为2*PI的函数。),我认为的三大杀手锏。

2022-09-27 09:00:00 585

原创 2022暑期复习-Day9

虚函数表不会被影响,所以父类指针调用的函数一直是虚函数,去vptr指向的虚函数表中找到函数指针,然后创建函数栈每调用函数,调用的都是子类重写的虚函数。这是多态的概念父类指针访问的是谁的方法取决于父类指针指向的是什么对象,因为指向的什么对象提供了访问的_vfptr,这才是决定父类指针访问的虚函数是谁的。对于有虚函数的类中,需要考虑vfptr虚函数表指针,这个指针放在第一个内存的位置。A子类的指针访问虚函数访问的是子类的方法。C父类的指针访问虚函数访问的是父类的方法。A虚函数不是类的成员函数。...

2022-07-29 10:20:27 241

原创 2022暑期复习-Day8

A释放父类指针时能正确释放子类对象B释放子类指针时能正确释放父类对象C这样做是错误的D以上全错主要用途,在释放父类指针时,如果父类指针指向了一个子类对象,那么可以调用子类的析构继而调用父类的析构,删除这个对象,防止内存泄漏问题。答案A。...

2022-07-23 11:57:09 332

原创 2022暑期复习-Day7

A构造函数B析构函数C内联成员函数D静态成员函数虚函数是指函数能在继承关系中重写的一种函数,有virtual前缀不过有一些特殊的情况,这是由于编译器的原因。析构函数定义为虚函数时基类指针可以指向派生类的对象(多态性),如果删除该指针delete[]p;就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放答案B。......

2022-07-22 00:17:07 544

原创 2022暑期复习-Day6

2022暑期复习-Day6

2022-07-20 15:50:05 417

原创 cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘ > Overload resolution

但是发现自己的画的矩形框一直在偏移。后来发现矩形框的坐标在不断的累加,最后非常大才会导致使用画矩形的函数报错。在windows平台使用opencv部署yolo模型的时候,一直出现这个问题。我百度了一下,又以为是读取摄像头的视频流有问题,又加了判断条件,发现也没问题。原先以为画矩形的函数的参数使用错了,但是查了半天又没有问题确实是使用的元组。一直都是同一个,才会在解算矩形框的时候不断累加,最后导致报错。后来改掉了就正常了,模型部署也成功了。但是运行了一段时间后,就回直接G了。后来以为是版本有问题,又换成了。.

2022-07-20 01:02:26 7322 10

原创 2022暑期复习-Day5

2022暑期复习-Day5

2022-07-19 14:51:54 171

原创 2022暑期复习-Day4

2022暑期复习-Day4

2022-07-19 13:46:43 153 2

原创 2022暑期复习-Day3

暑期复习-Day3

2022-07-16 23:14:09 245

原创 2022暑期复习-Day2

暑期复习-Day2

2022-07-15 20:55:42 308

原创 C++异常机制和智能指针机制的杂谈

异常和智能指针杂谈

2022-07-15 16:27:05 401

原创 2022暑期复习-Day1

暑期复习-Day1

2022-07-14 23:36:40 551

原创 二叉搜索树的理解以及AVL树的模拟实现

二叉搜索树与AVL树的插入与删除的实现

2022-01-19 09:00:00 287 5

原创 LeetCode.154 - 寻找旋转排序数组中的最小值 II(二分思想)

154. 寻找旋转排序数组中的最小值 II方法一:暴力解法这个十分暴力,就是依次去遍历,然后元素之间比较大小。时间复杂度O(N),代码简单。方法二:二分思想利用二分的思想可以加速查找,因为二分每次判断都会丢弃一般的数据量。虽然这个数组不是有序的,但是部分有序的。可以由于题目的特性可能会出现,[0,n/2+a]区间都是升序的(a∈[−n/2,n/2])。理解一下就是左半边区间是可能是有序的,也可能是右半区间是有序的。所以,我们可以考虑使用mid=(left+right)>>1来判断

2022-01-17 09:00:00 129

原创 C++多态知识点深入了解

多态多态介绍静态的多态动态的多态满足动态的多态还需要两个条件虚函数注意事项虚函数的重写对于多态条件的破坏虚函数重写的三个例外final关键字override关键字介绍多态的定义函数调用的多种形态执行不同的行为,达到不同的目的多态分为静态的多态和动态的多态静态的多态:函数重载(函数的参数列表不同),在编译时确定动态的多态:基类指针或引用调用基类与派生类的虚函数,在运行时确定静态的多态最常见的多态,是函数重载,也就是静态的多态。我们都是使用一个函数,但是操作的对象的类型不同,有内置

2022-01-16 09:00:00 323

原创 Linux-进程控制

作为操作系统对于其中的进程控制,对于一个多进程少CPU的情况,操作系统要有一个组织调度进程的算法来合理分配资源。进程调度队列NICE与PRI首先回顾一下NICE与PRI,这是表明进程的优先级的大小,越小,就代表进程优先级就越高。NICE的范围是[-20,19],而PRI则默认是80.我们一般也只能通过控制NICE的值来间接影响PRI,从而改变进程的优先级。而NICE的区间也说明PRI的范围是[60,99]。也就是意味着,一个进程的优先级也就是在这个范围,且PRI越小,优先级越高。运行队列-runq

2021-10-24 12:04:18 1537 8

原创 Leetcode.32-最长有效括号(两方法)_

题目链接要统计最长的有效括号。一般这种题目就要求最长,最优的可以考虑用动态规划来做。基本可以保证时间复杂度在O(n)。因为DP可以利用前面的状态方程的结果,而不会造成重复运算。DP最关键的是找出问题与状态转移方程。对于本题而言,要求最长的的有效括号()...

2021-10-21 19:40:04 1393 4

原创 Linux-进程概念

进程是一个非常重要的概念,了解它,你会更清晰的认知计算机中的程序执行。看待计算机的角度都会不一样。冯诺依曼体系首先,来介绍计算机的结构-冯诺依曼体系这是现代计算机的逻辑结构。输入设备:键盘、鼠标、手柄、网卡…输出设备:屏幕、硬盘、音响、网卡…存储器:内存也就是说,在不考虑缓存的情况下,CPU只会与内存进行交互,输入输出设备也是只与内存(存储器)进行直接交互。控制器是进行决策的,决策的对象是内存中的数据与代码。运算器是根据控制器的指令进行运算。比如:键盘输入时,键盘中的寄存器会进行按键

2021-10-09 07:36:30 569 12

原创 C++认知继承

对于继承,这是C++中相当重要的语法,学习此语法可以更好的认知C++这个恢弘的世界。

2021-10-03 20:59:20 350 9

原创 Leetcode-102.二叉树层序遍历

题目链接写这博客,主要是想回顾一下二叉树的层序遍历。我们都知道,二叉树有 前序遍历、中序遍历、后序遍历,这些遍历方式用递归的方法改变访问节点的顺序就能得到这些遍历方式。而层序遍历,是每一层去遍历这些节点,一层一层的遍历,这一层遍历完了,才回去遍历下一层节点。而层序遍历是要借助queue队列,这个数据结构。介绍一下方法。从二叉树的第一个节点开始,把这个节点放入队列中。当走到尽头时,这一行没有节点了。就把这个节点出队,然后还要把该节点的两个左右子节点入队,先左节点,再右节点如果是空,就不入队

2021-10-03 18:29:23 125 1

原创 C++STL-stack与queue以及priority_queue

在C语言中,我们都是了解过stack(栈)和queue(队列)。而C++提供了更好的解决方案,有STL可以帮开发者减少大量的工作,也就是说,有大佬已经帮我们写好了这些数据结构,并且封装成了一个库,对于这些基本数据结构,可以像使用int、double一样,创建一个数据结构对象。stack模拟介绍stack这比较”官方“提供的关于stack的描述,STL基本上都是实现一个类模板,这样可以让使用者根据自己的需求创建不同类型的数据结构。这里描述了,stack作为一个container adaptor,

2021-10-03 12:51:38 242 1

原创 C++类型转换

内置类型的转换自定义类型转换explicit 关键字提醒提问:编译器在什么时候使用Stone(double)?转换函数概念介绍自动引用类型转换缺陷总结C++对于内置类型有隐式或显式的类型转化,如int,double,long,char,但是,C++还有类这个概念,类是一种自定义类型,为了让类(自定义类型)达到内置类型的层次,C++对类也挺提供一些方法进行自动或者强制类型转换C++的好多工作,在我看来就是让自定义类型能和内置类型一样简单使用、操作。内置类型的转换 int a = 8; dou.

2021-10-01 13:24:46 627 1

原创 Leetcode-739.每日温度(双思路分析)

方法一:单调栈看代码分析思想提问:为什么用while循环不用if判断方法二:KMP的思想分析思想图解算法看代码题目链接方法一:单调栈作为一道要依序比较元素之间大小、求差,最先想到的就是利用栈。栈真的是一个很好用的数据结构,利用其后进先出的模式,用起来相当爽。以前做过匹配括号,可以说和这道题类似,只要符合条件,就入栈、弹栈。这到题,找比这个数大的一个数,两下标一减,就能得到要等几天才会有较高温度,就意味着,每个元素都要入栈,只有符合条件的后(比这个栈顶元素大),就能进行弹栈,并进行下一次的入栈.

2021-09-28 23:22:06 242 2

原创 C++模板进阶

非类型模板参数模板参数类型模板参数:用typename/class定义的参数类型名称非类型模板参数:用一个整形作为模板的一个参数,在模板中可以当常量使用例如:template<class T,size_t N>//T就是类型模板参数,N就是非类型模板参数这个N可以直接当常量用,就是说可以直接去初始化数组的元素个数举个实际点的例子#include <iostream>template <class T ,size_t N>class arr{p

2021-09-14 22:11:18 1338 3

原创 Leetcode-946.验证栈序列

题目链接题目要求就是,以某种顺序将元素压栈,,然后有一种出栈的顺序,判断这种出栈顺序是否符合这个栈。所以,我们要使用一个栈stack类。来入栈验证,进行一种模拟。依次遍历要入栈的元素,同时,用另一个下标去遍历弹栈顺序的数组。但是要拿栈的栈顶元素去与弹栈顺序的数组去匹配,如果匹配了,就代表这个弹栈顺序是可以的。如果不允许(不匹配),就继续入栈,而弹栈顺序的数组就下标不动。直到找到元素匹配的。同时,还要满足,弹栈匹配的前提是,栈不为空。否则就会越界。看代码class Solution {publi

2021-09-11 13:34:14 280 10

原创 Leetcode-53.最大子序列和

分析问题代码题目链接最近在学DP(动态规划),用动态规划的思路来解析这道题。动态规划作为一种设计方法后者说算法思想,可以考察这个问题的所有解,并最终得到最优解。DP实现步骤定义状态状态转移(状态之间的递推关系)算法实现对于使用DP算法的问题,需要寻找问题的关键,要将问题给抽象出来,并寻找最相似的子问题。DP算法解决问题有三大特点把原有问题分解成几个相似的子问题所有的子问题只需要解决一次储存需要的子问题的解(用已得到最优的解)使用场景:最大/小值、其条件是否可行、方案的个数.

2021-09-04 20:46:16 221 1

原创 Leetcode-255.用队列实现栈

题目描述方法一:双队列实现栈方法二:一个队列实现栈题目描述题目链接题目要求用队列这个数据结构来实现栈这个数据结构,是指用队列来实现栈的特性后进先出。因为队列的特性是先进先出,所以我们要对队列的成员函数进行一些处理封装。方法一:双队列实现栈使用一个队列进行数据入队,出队的中转,以达到后进先出的效果。不知道为什么好糊?通过另一个队列的中转来使另一个队列能够变成栈,同时还要交换队列。先将一个元素push进一个空队列,在把另一个队列里的,所有元素push进这个队列,根据递推的关系,可以让这些.

2021-09-03 18:08:42 132 2

原创 BF与KMP算法的初步认知

算法介绍BF(暴力匹配算法)代码实现KMP(模式匹配算法)举例分析(逻辑分析)next数组代码实现next组KMP算法的实现时间复杂度分析总结算法介绍BF(暴力匹配算法)BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。就这样循环往复,进行暴.

2021-09-01 18:39:52 388 2

原创 C++内存管理+模板入门知识点

内存管理+模板内存管理CC++内置类型自定义类型内存泄漏模板泛型编程函数模板模板参数匹配原则类模板内存管理Cmalloc();free();C++newdelete内置类型对于C++和C中而言,如果操作的对象是内置类型,new/malloc和delete/free基本没什么区别new/delete操作的是单个元素空间new[]/delete[]操作的是连续空间自定义类型new/new[]和delete/delete[]实际上是调用 operator 重载函数new的原理

2021-08-16 00:30:03 272 1

空空如也

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

TA关注的人

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