自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

范纹杉想快点毕业的博客

范纹杉想快点毕业的博客

  • 博客(46)
  • 问答 (1)
  • 收藏
  • 关注

原创 高频知识汇总 | 【操作系统】面试题汇总(万字长博通俗易懂)

这篇我亲手整理的操作系统资料,融入了我个人的理解。当初我在研习八股文时,深感复习时的困扰,网上资料虽多,却过于繁杂,有的甚至冗余。例如,文件管理这部分,在实际面试中很少涉及,因此我仅深入探究了磁盘、缓存和内存的读写速度差异,未再深究其他内容。此文是我精心筛选的结晶,囊括了操作系统中最为核心、常被提及的知识点。我建议你首先掌握这些内容,再进一步探索更高级、全面的知识。

2023-12-23 20:38:33 1063

原创 【学习记录】动态数组(vector)的基本操作,包括插入、删除、扩容、输出、释放内存等。用C语言编写

这段代码主要用于演示一个基本的动态数组的实现,以及如何进行插入和删除操作。在主函数中,通过随机操作来测试这些功能,以及展示 vector 内容的输出。这段代码实现了一个简单的动态数组(vector)数据结构,允许用户插入和删除元素,以及动态扩展数组的容量。

2023-10-18 16:22:57 361

原创 高频知识汇总 |【计算机网络】面试题汇总(万字长文通俗易懂)

这篇【计算机网络】是我在学习时自己整理的,大部分都是按我个人的理解来写的答案。废话不多说直接铺干货。

2023-09-08 17:24:49 1391 2

原创 【数据结构】C++代码定义了一个动态数组(Vector)的数据结构,并实现了一些基本的操作,包括插入、删除、扩容和输出。

然后创建一个初始容量为2的动态数组,并使用循环执行一系列随机操作,包括插入、删除、扩容和输出操作。运算符动态分配两倍于原容量的新数组,将原数组的数据复制到新数组中,删除原数组的数据指针,将新数组的指针赋值给原数组的数据指针,最后将原数组的容量大小更新为新容量大小的两倍,并返回1表示扩容成功。然后从数组的末尾开始遍历,将数组中的元素向后移动一位,为要插入的元素腾出位置。这段代码定义了一个动态数组(Vector)的数据结构,并实现了一些基本的操作,包括插入、删除、扩容和输出。,表示数组的初始容量大小。

2023-09-07 16:15:10 671

原创 【数据结构】链表C++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点

该函数遍历链表,如果找到了与给定值相等的节点,则输出该节点及其后的所有节点,并在其前面输出一个标记符号"^"和"|",然后返回1表示找到了目标值。它通过循环遍历链表,找到指定位置的前一个节点,然后将新节点插入到该节点之后。该函数首先计算链表的长度,然后依次输出每个节点的数据和指向下一个节点的箭头符号。总结起来,这段代码实现了一个简单的链表数据结构,并提供了插入、查找和输出链表的功能。,用于在链表中插入一个新的节点。这段代码实现了一个简单的链表数据结构,并提供了插入、查找和输出链表的功能。

2023-09-07 15:54:34 766

原创 【数据结构】链表C语言编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点

这段代码是用C语言编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点。

2023-09-06 16:23:40 353

原创 【数据结构】动态数组(vector)的基本操作,包括插入、删除、扩容、输出、释放内存等。以下是代码的解释和注释:

函数中,通过随机数生成了一系列的插入和删除操作,并在每次操作后输出动态数组的内容。整个程序演示了动态数组的基本操作,包括创建、扩容、插入、删除、输出和释放内存。这段C代码实现了一个动态数组(vector)的基本操作,包括插入、删除、扩容、输出、释放内存等。这段代码首先包含了一些头文件,然后定义了一个名为。的结构体,用于表示动态数组。

2023-09-04 20:55:51 1451 1

原创 HZOJ#237. 递归实现排列型枚举

这段代码的目的是生成从1到n的所有全排列。全排列是指从n个不同元素中取出n个元素(也就是全部元素)进行排列的不同排列方式的总数。这里使用了回溯算法进行全排列的生成。回溯算法是一种通过探索所有可能的候选解来找出所有解的算法。如果候选解被确认不是一个解(或者至少不是最后一个),回溯算法会通过在上一步进行一些变化来舍弃该解。​ 从 1−n这 n个整数排成一排并打乱次序,按字典序输出所有可能的选择方案。​ 每行一组方案,每组方案中两个数之间用空格分隔。​ 输入一个整数 n。​ 注意每行最后一个数后没有空格。

2023-09-04 19:10:38 97

原创 HZOJ#236. 递归实现组合型枚举

对于每个可能的值k(从j开始,直到n),它将k赋值给当前位置的元素,并递归地调用函数f,将下一个位置、k+1作为新的j,n作为新的m。需要注意的是,这个程序没有对输入进行有效性检查,例如确保m小于等于n等。这段代码是一个C++程序,它的目的是生成所有可能的数组排列,使得数组的前m个元素都是不同的,且每个元素都在1到n的范围内。​ 从 1−n 这 n 个整数中随机选取 m个,每种方案里的数从小到大排列,按字典序输出所有可能的选择方案。在主函数main中,它从用户输入n和m的值,并调用函数f开始生成排列。

2023-09-04 17:02:52 118

原创 HZOJ-235:递归实现指数型枚举(c语言)

这是一个 C++ 程序,它使用递归函数来生成一个整数数组的所有可能排列。(这样在下一次递归中,它可以从下一个位置开始遍历),并且数组的长度仍然是。​ 从1−n这n个整数中随机选取任意多个,每种方案里的数从小到大排列,按。在每次赋值和打印数组后,函数都会打印当前的数组,然后继续下一次递归。需要注意的是,这个程序没有对输入值进行任何错误检查,所以如果输入的。的范围内遍历所有可能的数字,并将这些数字赋值给数组的第。是一个非常大的数,可能会导致堆栈溢出。函数,开始生成所有可能的数组排列。输出所有可能的选择方案。

2023-09-04 16:11:28 243

原创 leetcode弹簧板

题目描述 有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方。假设有 n 个连续的弹簧板,每个弹簧板占一个单位距离,a[i] 代表代表第 ii 个弹簧板会把小球向前弹 a[i]个距离。比如位置 1 的弹簧能让小球前进 2 个距离到达位置 3。如果小球落到某个弹簧板后,经过一系列弹跳会被弹出弹簧板,那么小球就能从这个弹簧板弹出来。现在小球掉到了11 号弹簧板上面,那么这个小球会被弹起多少次,才会弹出弹簧板。1号弹簧板也算一次。

2023-09-04 10:24:52 421

原创 leetcode路飞吃桃,递归做法

路飞买了一堆桃子不知道个数,第一天吃了一半的桃子,还不过瘾,又多吃了一个。以后他每天吃剩下的桃子的一半还多一个,到 n天只剩下一个桃子了。路飞想知道一开始买了多少桃子。

2023-09-04 10:14:08 254

原创 标准代码书写准则,避免屎山代码风格指南

这是一个你的项目应该遵循的标准代码书写准则的列表,把称为适当的标准代码。避免屎山。

2023-07-20 18:03:32 456 1

原创 leetcode:两数之和,梦最开始的地方

这段代码实现了在一个整数数组中寻找两个数的组合,使得它们的和等于给定的目标值。它使用了两个嵌套的循环来遍历数组中的每个元素,并查找与目标值的差值。作为输入,并返回一个整数向量,其中包含两个索引值,表示在数组中找到了两个数的组合,它们的和等于目标值。然后,使用两个嵌套的循环来遍历数组中的每个元素。然后,内部循环继续遍历数组中的元素,直到找到一个与。如果未找到匹配项,函数将在结束所有循环后返回一个空的向量。从数组的第一个元素开始,内部循环变量。如果找到了匹配的元素,将外部循环变量。的差值,并将其存储在变量。

2023-07-15 21:45:35 60

原创 【C++课程大作业】C++实现基于多态的职工管理系统,黑马程序员课后作业

职工管理系统可以用来管理公司内所有员工的信息本教程主要利用C++来实现一个基于多态的职工管理系统。

2023-07-05 21:26:26 144 1

原创 【C++】一个简单的立方体类的实现,其中包含了一些成员函数和全局函数来计算立方体的表面积、体积以及判断两个立方体对象是否相等。

然后通过设置各个对象的长度、宽度和高度来进行初始化。接下来,分别使用成员函数和全局函数来判断两个立方体对象是否相等,并输出计算的表面积和体积。这段代码是一个简单的立方体类的实现,其中包含了一些成员函数和全局函数来计算立方体的表面积、体积以及判断两个立方体对象是否相等。用于在程序运行结束后暂停控制台窗口,以便查看输出结果。这行代码在不同的编译环境下可能需要根据实际情况进行调整或删除。类来表示立方体,并包含了一些成员函数和全局函数来实现相关的功能。函数中,首先创建了两个立方体对象。

2023-07-05 18:00:57 429 1

原创 C++笔记,设计一个class人类

类,并提供了相应的设置和获取函数。其中,姓名属性可读可写,年龄属性只读,情人属性只写。通过对象的成员函数对属性进行操作和访问。总结:该代码定义了一个具有姓名、年龄和情人属性的。的类,该类具有三个成员函数和三个私有成员变量。使程序暂停,以便观察输出结果。这段代码定义了一个名为。函数中,首先创建了一个。

2023-07-04 21:42:00 176

原创 C++课程设计大作业,设计一个简易通讯录,具有增删查改的功能

使用更合适的数据结构:目前的代码中使用了数组来存储联系人信息,但在插入和删除联系人时需要移动数组元素,效率较低。使用函数参数传递结构体对象:目前的代码中,每个函数都需要传递Addressbooks对象的指针作为参数,可以考虑将Addressbooks对象作为参数传递给函数,避免使用全局变量,并增加代码的可读性和可维护性。减少重复代码:目前的代码中,一些功能(例如输入姓名、性别、年龄、电话和住址)在多个函数中出现了重复的代码。可以将这些公共的代码提取出来,作为独立的函数进行复用,减少重复的劳动和代码冗余。

2023-07-01 11:37:23 389

原创 从零开始学C++,编写一段通讯录管理系统,具有增删查改的功能。课程设计大作业-通讯录管理系统

遍历通讯录中的联系人数组,如果找到了与指定姓名匹配的联系人,则返回该联系人在数组中的索引;首先判断通讯录是否已满,如果已满则提示无法添加,否则依次输入联系人的姓名、性别、年龄、电话和住址,并更新通讯录中联系人的个数。这段代码是一个简单的通讯录管理系统,它实现了添加联系人、显示联系人、删除联系人、查找联系人、修改联系人、清空联系人等功能。函数用于显示菜单界面,包括添加联系人、显示联系人、删除联系人、查找联系人、修改联系人、清空联系人和退出通讯录等选项。如果存在,则输出该联系人的姓名、性别、年龄、电话和住址;

2023-06-30 21:23:51 167

原创 从零开始学C++,设计一个结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名人员。通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。

题目:设计一个结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名人员。通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。函数使用嵌套的循环进行冒泡排序,比较相邻的两个元素的年龄大小,如果前一个元素的年龄大于后一个元素的年龄,则交换两个元素的位置。这段代码实现了一个结构体的定义,以及使用冒泡排序对一组按照年龄进行排序,并打印排序后的结果。函数中,定义了一个包含5个人员结构体的数组。函数会依次输出每个人员的姓名、性别和年龄。函数,传入排序后的数组。

2023-06-26 20:49:49 404

原创 从零开始学C++,创建和打印一个包含教师和学生信息的数据结构体

它接受一个教师数组和数组长度作为参数。在函数内部,通过循环遍历教师数组,为每个教师设置姓名,然后为每个教师的学生数组中的学生设置姓名和随机生成的成绩。在函数内部,通过循环遍历教师数组,打印每个教师的姓名,然后打印每个教师的学生数组中每个学生的姓名和成绩。总结来说,该程序通过结构体和数组来存储和管理教师和学生的信息,并通过调用相应的函数来填充数据和打印结果。这段代码是一个简单的C++程序,主要用于创建和打印一个包含教师和学生信息的数据结构。函数中,首先设置随机数种子,然后定义了一个包含3个教师的教师数组。

2023-06-26 17:02:35 239

原创 【leetcode】奶酪迷宫问题

时间限制: 3000MS内存限制: 589824KB题目描述:一只聪明的老鼠发现了一个三角形的奶酪迷宫。这个迷宫有若干个小房间,每个小房间有若干块大小相等的小奶酪(每个房间至少有一块奶酪)。奶酪迷宫的构造如下: (1) 奶酪迷宫一共有N行,第1行有一个小房间,第2行有两个房间,第3行有三个小房间,......第N行有N个小房间。(2) 所有的小房间都是从第1列开始进行排列的。(3) 奶酪迷宫的入口是第1行的那个小房间。

2023-06-25 16:21:53 226

原创 从零学C++,利用指针进行冒泡排序

内层循环比较数组中相邻的元素,如果它们的顺序不正确,则进行交换。函数,它实现了冒泡排序算法以升序排序数组。通过将数组的总大小除以一个整数的大小来计算数组的长度。函数来打印数组的元素。语句暂停程序的执行,以便在控制台窗口中查看结果。函数,传递数组和其长度作为参数进行排序。结束程序的执行并返回0,表示成功执行。次,表示需要进行的趟数以排序数组。并以与之前数组相同的值进行初始化。并使用未排序的整数值进行初始化。循环遍历数组的元素,并使用。函数中,声明了一个新的数组。函数,打印排序后的数组。是外层循环当前的趟数。

2023-06-25 15:25:49 315

原创 用C++实现单利,并详细说明过程和编程代码注释

单利是指在银行储蓄中,本金在一定时间内获得的利息,利息不会产生利息的一种计息方式。执行上述代码,程序会提示用户输入本金、年利率和存款时间,然后输出计算出的利息和本息和。在主函数中,我们先从标准输入中读取本金、年利率和存款时间。表示存款时间(以年为单位)。函数内部先计算出利息。的函数,用于计算单利。函数计算本息和,并将结果输出到标准输出中。在上述代码中,我们首先定义了一个名为。,然后将本金和利息相加,得到本息和。最后,函数返回本息和。

2023-06-20 21:23:38 516

原创 从零开始学C++,冒泡排序

这段代码是用 C++ 编写的,用于对一个整数数组进行升序排序。具体来说,它使用了嵌套的 for 循环来实现冒泡排序算法。外层循环控制排序轮数,内层循环控制每轮比较和交换操作。如果相邻两个元素的顺序不正确,则交换它们的位置。在排序完成后,代码使用另一个 for 循环遍历数组,并将每个元素打印到控制台上。最后,代码返回 0,表示程序正常结束。

2023-06-19 15:20:29 26

原创 从零开始学C++,数组倒置

这段代码是用C++编写的,它实现了将一个整数数组逆置的功能。具体来说,它首先创建一个长度为5的整数数组,并输出其原始顺序。然后,通过使用两个指针(start和end),它实现了数组的逆置。最后,它再次遍历数组,并输出逆置后的结果。

2023-06-19 15:07:01 606

原创 从零开始学C++,乘法口诀表

这段代码是用C++编写的,它打印出1到9的数字与它们的乘积之间的关系。具体来说,它使用两个嵌套的for循环来遍历每个数字对(i,j),其中i从1到9,j从1到i。对于每个数字对,代码将打印出j和i的乘积,中间用"*"隔开。

2023-06-19 15:06:53 145

原创 从零开始学C++,水仙花数

这是一个使用C++编写的程序,其功能是找到一个三位数,使得它的每个数字的立方和等于这个数字本身。这段代码将输出所有满足条件的三位数,从100开始一直检查到999为止。

2023-06-19 15:04:17 64

原创 动态规划,老鼠奶酪

奶酪迷宫的构造如下: (1) 奶酪迷宫一共有N行,第1行有一个小房间,第2行有两个房间,第3行有三个小房间,......第N行有N个小房间。(4) 由于奶酪迷宫的特殊构造,小老鼠进入一个房间后,不允许回退到上一层的房间,也不允许走到左边的房间,只允许走到右边或者下面的房间。(5) 在奶酪迷宫的最后一层,每个房间都有一扇通往迷宫出口的门,且最后一层的小房间没有通往左边和右边小房间的门。接下来N行,第1行有1个正整数,表示第1行1个小房间的小奶酪数;第N行有N个正整数,表示第N行N个小房间的小奶酪数。

2023-06-10 20:30:46 250

原创 LeetCode:106.从中序与后序遍历序列构造二叉树

给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你返回这棵二叉树的先序遍历。

2023-05-31 16:15:22 48

原创 【深度学习】YOLOv5标签归一化处理——json转换为txt,COCO格式转成YOLO格式

这段代码是一个用于处理JSON文件的脚本,主要包含以下几个函数和一个主程序:cor_convert_simple(img_size, box): 这个函数用于将简单的坐标框格式转换为所需的格式。它接受图片尺寸img_size和一个坐标框box作为输入,并进行一系列的计算和转换,最后返回转换后的结果。具体的转换过程包括计算中心点坐标、宽度和高度,然后根据图片尺寸进行归一化处理。cor_convert_seg(img_size, box_list): 这个函数用于将复杂的坐标框列表格式转换为所需的格式。

2023-05-12 16:56:25 2424

原创 【Python】转换图片分辨率resize,不改变宽高比,不损失图像信息,OpenCV,计算机视觉

【Python】转换图片分辨率resize,不改变宽高比,不损失图像信息,OpenCV,计算机视觉

2023-05-12 16:20:41 1893 1

原创 【YOLO】Python实例分割 YOLOv5-segment使用教程

前段时间,YOLOv5推出7.0版本,主要更新点是在目标检测的同时引入了实例分割。目前,YOLOv5团队已经转向了YOLOv8的更新,因此,7.0版本大概率是YOLOv5的最终稳定版。

2023-05-09 17:23:11 1648 2

原创 畸变问题解决

摄像机成像的过程实质上是坐标系的转换,空间中的点从世界坐标系转换到摄像机坐标系,然后再投影到图像坐标系(成像平面),再将数据转换到图像坐标系。:正中心位置的畸变最小,随着半径的增大,畸变增大。在棋盘图上绘制找到的内角点(尽量使用长款不同的标定板,以便模型更好识别横向和纵向);利用算法模型计算畸变系数,内参数,外参数(平移参数,旋转参数);双目相机的畸变校正以及平行校正(极线校正)的入门问题总结。双目相机的畸变校正以及平行校正(极线校正)的入门问题总结。相机(RGB&DEPTH)畸变矫正的通俗理解。

2023-05-09 09:57:14 166

原创 秋招刷题:【leetcode】将每个单词逆序输出即可

输入: "Let's take LeetCode contest"# 输出: "s'teL ekat edoCteeL tsetnoc"# 2. 遍历每个单词,将单词逆序输出并拼接到结果字符串中。# 1. 将字符串按空格分隔成单词数组。# 3. 最后返回结果字符串。# 将每个单词逆序输出即可。

2023-05-08 21:37:36 122

原创 【YOLO】voc(xml格式)转换成coco(json格式)代码

这段代码的功能是将一个文件夹下的所有JSON文件转换为一个特定格式的JSON文件,转换后的JSON文件中包含了原JSON文件中的某些字段,并将其它字段按照一定的格式进行转换。中,包括图片的文件名、宽度、高度、标记的名称和位置信息;对象序列化为JSON格式的字符串,保存到输出文件中;:一个空字典,表示标记的额外信息;语句打开输出文件,并使用。文件时,程序结束运行。

2023-04-28 18:41:37 820

原创 XML格式(voc)文件批量转化成JSON(coco)的脚本

XML格式(voc)文件批量转化成JSON(coco)的脚本

2023-04-27 21:57:11 342

原创 【目标检测】YOLOv5-7.0:加入实例分割 YOLOv5-seg 模型

前段时间,YOLOv5推出7.0版本,主要更新点是在目标检测的同时引入了实例分割。目前,YOLOv5团队已经转向了YOLOv8的更新,因此,7.0版本大概率是YOLOv5的最终稳定版。

2023-04-26 16:42:06 2748 3

原创 【SAM-Segment Anything】推荐一款非常好用的数据自动化标注工具Anylabeling

AnyLabeling = LabelImg + Labelme + Improved UI + Auto-labeling任何标签 = 标签Img + 标签我 + 改进的用户界面 + 自动标签

2023-04-26 10:25:31 4762 4

原创 编码问题UnicodeDecodeError: ‘gbk ‘ codec can‘t decode byte 0x80 in position 83: illegal multibyte

记录实习编程的问题,差点把15000张数据集删了。之前在学校做实验跑代码也出现了这个问题,比较粗鲁的解决数据集而没有关注代码原因,数据集编码格式utf-8,应该在读取文件中声明编码格式,这属于计算机基本功不扎实的问题。

2023-04-19 17:18:21 69

空空如也

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

TA关注的人

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