自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小酒馆点餐系统实现-C++项目详细过程

使用户可以通过浏览器访问服务器获取菜品信息并进行点餐;以及可以使管理员通过浏览访问服务器实现订单以及菜品的管理。

2024-04-26 17:44:46 276 1

原创 不同进制之间的转换问题

十进制就是0-9的数字,一般进行转换都是对要转换的进制进行除法取余,最后余数从下往上取出来就是转换后的结果.

2024-04-12 17:33:53 153

原创 二分查找--模板+例题详解

二分查找的目的是优化时间复杂度,防止时间超过.因此在一些有时间限制的题目上,使用二分查找是一个不错的选择.,也称为折半查找,是一种在有序数组中查找特定元素的搜索算法。其核心思想是将数组不断对半分割,比较中间元素与目标值的大小,以此缩小搜索范围。步骤如下:定义查找区域的左边界left和右边界right,以及中间位置middle。比较中间元素middle与目标值target。如果middle等于target,则查找成功,返回middle。

2024-04-12 14:17:25 138

原创 字符统计问题--map和multimap的巧妙转换

由于map的默认排列是从小到大,因此字母小的先插入到multimap中。再将map的内容反向写入multimap(设定次数从大到小排列)首先使用map进行记录每个字母的出现次数。value值(字母表顺序):从小到大。key值(字母出现次数):从大到小。

2024-04-11 16:35:22 157

原创 日期问题--代码模板详解--举例(顺子日期)

有许多题目都是和日期相关,这里介绍一种通用的模板,主要进行日期的枚举,之后根据题目的具体要求进行添加限制条件即可。

2024-04-11 14:36:48 290

原创 广度优先搜索--什么是“BFS”?为什么要用队列实现?--走迷宫代码详细注释

DFS 全称是 Depth First Search,中文名是深度优先搜索,是一种用于遍历或搜索树或图的算法。深度优先,就是每次都尝试向更深的节点走。BFS全称是 Breadth First Search,中文名是宽度优先搜索,也叫广度优先搜索。其中的广度优先,就是每次都尝试访问同一层的节点, 如果同一层都访问完了,再访问下一层。这样做的结果是,BFS 算法找到的路径是从起点开始的最短合法路径。换言之,这条路径所包含的边数最小。也就是说通过BFS算法只要找到目标节点,该路径就是最短路径。

2024-04-10 19:50:45 496

原创 背包问题--求解过程

有N件物品和一个容量是V的背包。每件物品只能使用一次。第 i 物品的体积是 vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。

2024-04-09 19:44:42 234

原创 货物摆放--根号优化(因子成对原理)

然后首先要求出n的所有因数,因为题目需要满足的条件是n=L×W×H,因此求出所有的因数后,进行三重暴力循环,找出满足三个因数相乘为n的每一种方式。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。运行结果2430,但是会超时…计算本题前先了解一下约数。

2024-04-08 17:17:13 127

原创 K倍区间-C++题解

给定一个长度为 N 的数列,A1, A2,…AN​,如果其中一段连续的子序列 Ai,Ai+1⋯Aj​ ( i ≤j ) 之和是 K 的倍数,我们就称这个区间 [i, j]是 K 倍区间。你能求出数列中总共有多少个 K倍区间吗?

2024-04-08 15:52:55 357

原创 基于Ubuntu的Linux系统安装jsoncpp开发包过程以及基本应用认识

在浏览器中打开此链接,并浏览其中的内容,找到 .pub 文件的下载链接。一旦找到 .pub 文件的下载链接,您可以将其复制并用作 apt-key adv --fetch-keys 命令的参数。可以在 NVIDIA 的官方网站上找到 CUDA 软件仓库的下载链接。这是一个 GPG 错误,意味着你的系统无法验证 NVIDIA CUDA 软件仓库的签名,可能是因为缺少公钥。通常情况下,.pub 文件包含的是 GPG 公钥。在这种情况下,可以选择任何一个 .pub 文件来获取公钥。然后进行安装jsoncpp。

2024-03-28 22:36:29 315

原创 [Semi-笔记]Switching Temporary Teachers for Semi-Supervised Semantic Segmentation

分享一篇2023年NeurIPS的文章。

2024-03-27 11:27:28 1084

原创 Linux - IO

若监控超时了都没有描述符就绪则返回,若有描述符就绪了指定监控的事件则返回。作用:针对大量描述符进行IO就绪事件监控,让进程仅仅针对已经就绪了IO事件的描述符进行IO操作,避免了进程对未就绪的描述符进行操作所带来的性能损失或者阻塞。异步IO:自定义IO信号处理,发起IO调用,调用后立即返回,让系统完成IO,完成后通过信号通知进程。3.判断哪个描述符还在哪个集合中,就知道哪个描述符就绪了什么事件,进而进行对应IO操作。:为了完成某功能,发起一个调用,若完成功能条件不具备,则一直等待。

2024-03-22 16:03:09 921

原创 Linux-网络层IP协议、链路层以太网协议解析

UDP可没有MSS协商,只要数据段大小小于64k-28就可以传输,但是若大于MTU大小,则会在网络层会进行数据分片,而分片在对端会进行分片重组,一旦一个分区出问题整个报文都会被丢弃(udp不保证可靠传输,丢弃就没了),因此,分片越多,传输出问题的几率就越高。:有一个公司,申请了一个C类网络号1992.58.45.0,公司由四个部分,需要将这个C类网络平均划分为四个子网,请问如何划分,每个子网的子网掩码是多少,IP地址分配范围是多少,网络号是多少?.子网掩码与IP地址相与,可以得到网络号。

2024-03-21 21:22:56 708

原创 [Semi-笔记] 2023_TIP

分享一篇2023年TIP的文章。

2024-03-20 14:15:44 563

原创 Linux - 应用层HTTPS、传输层TCP/IP模型中典型协议解析

应用层、传输层的典型协议解析

2024-03-18 19:32:36 550

原创 Linux-网络基础-套接字详细过程

最早时期计算机是单机工作,由于两台主机之间无法进行信息交互,只能通过拷贝实现。因此出现了,实现两台相邻设备之间的数据交换,但是交换机没有动态选择路径的能力,无法指定设备进行交换信息。后来交换机被取代,随着交换的目标不同路由器实现自主路径选择,实现了小型局域网。(覆盖范围1km以内),(1km~2km),(2km以上):根据网络覆盖范围进行的网络划分。:相同的东西不同的叫法-国际性的更大的广域网:组网技术。

2024-03-16 18:14:40 924

原创 深度学习训练结果记录---日志文件写入logger 【简洁明了】

三分钟上手

2024-03-15 21:24:48 592

原创 Linux-多线程

Linux下线程执行流程是通过pcb实现的,而一个进程中可以有多个线程(pcb),并且这些pcb共享了进程中的大部分资源,相较于传统pcb较为轻量化,因此linux下的线程也被称作为轻量级进程。但是在学习到线程的时候,才知linux下的pcb实际上是一个线程,是进程中的一条执行流程,一个进程中可以有多个pcb,这些pcb共享进程中的大部分资源,因此也被成为轻量级进程。通俗理解:在最早学习进程的时候,认为进程就是pcb,是一个程序运行的动态描述,通过这个描述符操作系统实现程序运行调度以及管理。

2024-03-09 13:52:16 847

原创 Linux-进程信号

两个比较特殊的信号:SIGKILL/SIGSTOP 这两个信号不可被阻塞,不可被自定义,不可被忽略,说白了就是无法修改处理方式。:信号的处理也叫信号的递达,实际上就是打断进程当前的操作,去执行进程的对应信号处理函数。给pid进程发送sig信号。SIG_SETMASK–将set集合中的信号设置为阻塞集合的信号block=set。信号的生命周期:产生信号->在进程pcb中注册信号->注销信号->处理信号。:不管信号是否注册,都会注册一下。SIGCHLD信号:一个子进程退出后,给父进程发送的子进程状态改变信号。

2024-03-08 22:05:12 1080

原创 [Semi-笔记]Reliable Contrastive Learning for Semi-supervised Change Detection in Remote Sensing Images

分享一篇2022年TGRS的文章,针对半监督遥感影像变化检测任务。

2024-03-07 23:36:02 962

原创 Linux--进程通信

为什么进程间无法直接通信?因为进程之间具有独立性,每个进程访问的都是自己的独立的虚拟地址空间,使用的都是虚拟地址,通过页表映射到物理内存。因此就算将数据的内存地址交给其他进程,其他进程也无法访问(当然其实也无法直接给),只能通过操作系统提供的几种方式来进行。本质上来说是操作系统为多个进程提供了一处公共的数据传输媒介(内存)。因为通信场景不同,因此提供了多种不同的方式:管道,共享内存,消息队列,信号量。

2024-02-26 17:03:20 560

原创 Linux-基础IO

基础IO操作以及动静态库的生成

2024-02-14 15:32:30 346

原创 MySQL的安装步骤教程以及基本操作--详细讲解

安装步骤安装MariaDB:配置:查看配置:数据库的基本操作库的操作:数据类型数据库表的操作:表中数据的增删改查:表中数据的增删改查(进阶):

2023-11-27 15:44:22 1038

原创 C++中的四种强制类型转换操作符

向下转型:父类对象指针/引用->子类指针/引用(用dynamic_cast转型是安全的)向上转型:子类对象指针/引用->父类指针/引用(不需要转换,赋值兼容规则)reinterpret_cast操作符通常为操作数的位模式提供较低层次的。都可用static_cast,但它不能用于两个不相关的类型进行转换。static_cast用于非多态类型的转换(静态转换),编译器。,用于将一种类型转换为另一种不同的类型。const_cast最常用的用途就是。dynamic_cast用于。

2023-11-11 17:39:12 184

原创 智能指针的理解

之前定义指针申请内存空间使用后要进行delete进行资源释放,但是如果在资源释放之前就抛出异常,则不会进行正常的资源释放,造成资源泄露的问题。长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。// 1.内存申请throw;因此通过定义智能指针,利用对象的生命周期来控制程序资源,在生命周期结束时自动释放资源。

2023-11-10 12:58:09 115

原创 牛客网TOP101刷题笔记汇总--C++题解

牛客网面试必刷题TOP101的解题思路及C++实现

2023-11-09 09:55:50 130

原创 thread类--线程操作使用细则

函数名功能thread():构造一个线程对象,没有关联任何线程函数,即没有启动任何线程:构造一个线程对象,并关联线程函数fn,args1,args2,…为线程函数的参数get_id():获取线程idjionable():判断线程是否还在执行,joinable代表的是一个正在执行中的线程。jion():该函数调用后会阻塞住线程,当该线程结束后,主线程继续执行detach():在创建线程对象后马上调用,用于把被创建线程与线程对象分离开,分离的线程变为后台线程,创建的线程的"死活"就与主线程无关。

2023-11-08 09:02:26 73

原创 C++相关练习及详细讲解

一些c++练习题目以及解题过程

2023-11-05 17:36:09 231

原创 lambda表达式

lambda表达式书写格式:[capture-list] (parameters)mutable -> return-type { statement},如果每次比较的逻辑不一样,还要去实现多个类,特别是相同类的命名,这些都给编程者带来了极大的不便。因此,在C++11语法中出现了Lambda表达式。通过以上例子可以看出lambda表达式的使用对于代码的简化有很大帮助,以下详细讲解lambda表达式语法。也可以通过自定义泛型,该方法在调用sort()时需要将泛型填入参数列表。

2023-11-04 17:00:07 128

原创 unordered系列关联式容器--哈希结构详细讲解及使用示例

即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进行很少的比较次数就能够将元素找到,因此在C++11中,STL又提供了4个。对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。根据待插入元素的关键码,以此函数计算出该元素的存储位置并按此位置进行存放。中,元素关键码与其存储位置之间没有对应的关系,因此在。,搜索的效率取决于搜索过程中元素的比较次数。例如:数据集合{1,7,6,4,5,9};

2023-10-31 21:06:36 135

原创 红黑树--讲解以及详细实现过程

为了后续实现关联式容器简单,红黑树的实现中增加一个头结点,因为根节点必须为黑色,为了与根节点进行区分,将头结点给成黑色,并且让头结点的 pParent 域指向红黑树的根节点,pLeft域指向红黑树中最小的节点,_pRight域指向红黑树中最大的节点。,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。没有AVL树那么严格的要求必须左右子树高度差小于1。红黑树,是一种二叉搜索树,但。尚未结束~~持续更新。

2023-10-26 20:36:00 90

原创 二叉搜索树进阶--AVL树详细实现过程

之前学习到的虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将,查找元素相当于在顺序表中搜索元素,效率低下。,即可降低树的高度,从而减少平均搜索长度。

2023-10-23 23:27:24 125

原创 [Semi-笔记] 半监督语义分割--基于cutmix改进的自适应注入标记增强方法

分享一篇2023年CVPR的文章,文中提到两个创新,针对半监督语义分割数据增强方法。

2023-10-22 10:03:33 353

原创 树形结构关联式容器--set、map、multiset、multimap介绍及使用

set是按照一定次序存储元素的容器在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行排序。set容器通过key访问单个元素的速度通常比unordered_set容器慢,但它们允许根据顺序对子集进行直接迭代。set在底层是用二叉搜索树(红黑树)实现的。注意。

2023-10-21 18:24:02 138

原创 二叉树的前序、中序、后序遍历 -- 非递归方式实现

3.判断top节点是否可以压入vector,条件为top节点的右子树为空,或者top节点的右子树已经被压入vector。1.首先用一个while循环将二叉树的最左路径节点全部压入栈内,同时由于前序遍历的特性,也。将该节点获取为当前节点后,对栈顶元素进行移除,前序遍历是在将二叉树最左路径节点压入栈的同时,也将该节点的值压入vector。4.重复循环,直到当前节点为空,或者栈为空。4.重复循环,直到当前节点为空,或者栈为空。4.重复循环,直到当前节点为空,或者栈为空。一个指向当前节点、一个指向上一栈顶节点。

2023-10-20 15:21:30 94

原创 二叉搜索树--详细实现过程

比如英汉词典就是英文与中文的对应关系,通过英文可以快速找到与其对应的中文,英文单词与其对应的中文就构成一种键值对;KV模型:每一个关键码key,都有与之对应的值Value,即的键值对。最优情况下,二叉搜索树为完全二叉树(或者接近完全二叉树),其平均比较次数为:O(log_n)最差情况下,二叉搜索树退化为单支树(或者类似单支),其平均比较次数为:O(n)插入和删除操作都必须先查找,查找效率代表了二叉搜索树中各个操作的性能。

2023-10-19 18:53:38 104

原创 Linux进程概念

因为程序要想被执行,就需要放在内存中被cpu进行读取处理。例如:qq聊天实现:键盘采集输入,放到内存,cpu进行处理,网卡发送数据。

2023-10-18 19:41:14 61

原创 多态理解以及重载、重写和重定义的区别

两个函数在同一作用域函数名/参数相同两个函数分别在基类和派生类的作用域函数名相同两个基类和派生类的同名函数不构成重写就是重定义。

2023-10-14 18:19:06 49

原创 C++中文件流的简单读写操作、string流使用介绍

ofstream:输出文件流。ifstream:输入文件流。stringstream流。

2023-10-09 12:23:38 203

原创 vector、list、deque的优缺点

deque(双端队列):增容代价小1.数据缓冲区已满,新开一个缓冲区,缓冲区首地址存入指针数组2.指针数组已满,新开一个指针数组,只需要拷贝原有缓冲区的指针,不需要拷贝元素内容通俗解释:创建一个指针数组,从中间开始存储,比如chunk1 指向一个数据缓冲区用来存储数据,当进行头插尾插占满该缓冲区后,**再进行头插时,对指针数组进行–,chunk0指向一块新的数据缓冲区用来存储头插操作;再进行尾插时,对指针数组进行++,chunk2指向一块新的数据缓冲区用来存储尾插操作。

2023-10-08 22:22:25 148

空空如也

空空如也

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

TA关注的人

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