自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构之线性表

零个或多个数据元素的有限序列线性表的定义中强调有限和序列两个方面。有限:事实上,计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。序列:元素之间是有顺序的,若元素存在多个,则赐一个元素无前驱,最后一个元素无后继,其它每个元素都有且只有一个前驱和后继。

2023-04-04 20:21:53 627 1

原创 shell编程

shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。Linuxshell中的变量分为系统变量和用户自定义变量等set定义变量变量=值撤销变量unset变量声明静态变量readonly变量(静态变量声明后不能撤销)...

2022-07-24 09:28:43 13602

原创 Linux软件包管理

RPM用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHatPackageManager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且进行安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。RPM包名基本格式(以。...

2022-07-23 11:13:48 350

原创 Linux进程管理

在Linux中,每个执行的程序都称为一个进程,每一个进程都分配一个ID号(pid,进程号)每个进程都可能以两种方式存在的。前台和后台,所谓的前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。一般系统的服务都是以后台进程的方式存在,并且都会常驻在系统中,直到关机才结束。......

2022-07-23 08:25:07 407

原创 Linux网络配置

设置hosts映射能够通过主机名找到(比如ping)某个Linux系统。说明直接修改配置文件来指定IP,并可以连接到外网。

2022-07-21 11:23:04 339

原创 Linux磁盘分区挂载

Linux来说无论有几个分区,分给哪个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得。说明开始分区后输入n,新增分区,然后选择p,分区类型为主分区。创建新硬盘虚拟机设置中添加-硬盘-指定磁盘容量(此时可以看到添加了硬盘2)之前挂载所写入分区的文件,在取消挂载后不会删除。...

2022-07-18 10:40:44 587

原创 Linux定时任务调度

任务调度:是指系统在某个时间执行的命令或者程序。任务调度分类:基本语法:常用选项:具体使用如.(表示每小时的每分钟执行一次命令)参数细节说明:特殊符号说明:at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了。在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看。(检测a

2022-07-11 17:20:44 131

原创 Github操作

介绍了创建仓库,创建远程仓库别名,推送本地分支到远程仓库,拉取远程库到本地库,克隆远程仓库到本地,团队内协作,跨团队协作,SSH免密登录等github的常用操作。

2022-07-11 11:34:22 160

原创 Git分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支底层其实也是指针的引用。分支的好处在于可以同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某个分支开发失败,不会对其它分支有任何影响。失败的分支删除重新开始即可。...

2022-07-06 08:59:57 133

原创 Linux组管理和权限管理

在Linux中的每一个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其它组的概念。一般为文件的创建者,谁创建了该文件,就自然地成为了该文件的所有者。查看文件所有者:修改文件所有者:修改文件所有者和所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。查看文件/目录所在组:修改文件/目录所在的组:除文件的所有者和所在组的用户外,系统的其他用户都是文件的其它组。在添加用户时,可以指定将该用户添加在哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

2022-07-05 07:38:12 160

原创 Git常用命令

Git常用命令以及语法说明

2022-07-04 20:19:17 107

原创 Linux实用指令

介绍了Linux操作系统的实用指令,并介绍了这些指令的语法以及注意事项。

2022-07-03 21:07:19 177

原创 Linux用户管理

介绍Xshell远程登录到Linux系统中,进行用户管理的指令和注意事项

2022-07-03 10:15:22 110

原创 Linux关机重启与登录注销

在Xshell下对远程Linux关机重启和登录注销的基本指令和注意事项

2022-07-03 09:04:30 284

原创 Linux的Vi和Vim

Linux系统会内置Vi文本编辑器,Vim具有程序编辑的能力,可以看作是VI的增强版本,可以主动地以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误等方便编程的功能特别丰富,在程序员中被广泛使用。...

2022-07-03 08:48:56 149

原创 Linux远程操作

说明了Linux远程操作需要的软件Xshell和Xftp6,并详细介绍了操作的流程

2022-07-02 22:32:13 2467

原创 Linux目录结构

Linux的文件系统是采用层级式的树状目录结构,在此结构中国的最上层是根目录“/”,然后在此目录下再创建其他的目录。与Windows操作系统目录结构不同的是,Linux的目录结构是操作系统自己规划好的。有句经典的话,在Linux世界里,一切皆文件。...

2022-07-01 08:49:12 767

原创 Linux概述

介绍了Linux的简介、Linux的发行版本、Linux与Unix的关系,能够对Linux有大致的了解

2022-06-30 10:24:11 172

原创 目标检测yolov5开源项目调试

介绍了在github上下载yolov5的开源项目,结合Pycharm进行环境配置,代码运行,结果显示等工作。最后对代码中的一些参数进行了解释。

2022-06-29 17:32:38 2442

原创 基于Anaconda的模块安装与注意事项

Anaconda下载地址CSDN上有很多详细的安装教程,我感觉“基QI学习”这位博主写的Anaconda安装(过程详细)非常详细了,大家可以参考参考。以下我结合本人安装过程中出现的问题,做以下说明。进入Anaconda Prompt,虚拟环境可以通过conda create -n “name” python=“version”(name是虚拟环境的名称,version是python的版本号),采用这种方式会将虚拟环境创建在默认路径下,默认路径可以通过conda info的方式进行查询,默认路径显示在env

2022-06-23 17:39:33 1863

原创 C++编程——deque容器

文章目录1 deque容器基本概念2 deque容器构造函数3 deque容器赋值操作4 deque容器大小操作5 deque容器的插入与删除6 deque容器数据存取7 deuqe容器排序1 deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector的区别:vector对于头部的插入删除效率低,数据量越大,效率越低(因为vector是单端数据,头插需要将后面的数据向后移动后才能插入,头删的话需要将后面的数据向前移动)deque相对而言,对头部的插入删除速度会

2022-05-18 10:07:34 324

原创 C++编程——vector容器

文章目录1 vector基本概念2 vector构造函数3 vector容器赋值操作4 vector容量和大小5 vector容器的插入与删除6 vector容器数据存取7 vector互换容器8 预留空间1 vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组的区别:不同之处在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector容器的迭

2022-05-17 13:49:18 921

原创 C++编程——string容器

文章目录1 string构造函数2 string赋值操作3 string字符串拼接4 string查找和替换5 string字符串比较6 string存取1 string构造函数string是C++风格的字符串,本质上是一个类,既然是类,那就有相应的构造函数构造函数原型:string() //创建一个空的字符串string(const char* s) //使用字符串s初始化string(const string& str) //使用一个string对象初始化另一个string对象s

2022-05-14 23:31:28 111

原创 C++编程——STL初识

文章目录1 STL的诞生2 STL基本概念3 STL六大组件4 STL中的容器、算法、迭代器1 STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程的思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STL2 STL基本概念STL(Standard Template Library,标准模板库)STL从广义上分为:容器(container),算法(algorithm),

2022-05-14 16:16:34 315

原创 C++编程——类模板

文章目录1 类模板语法2 类模板与函数模板的区别3 类模板中成员函数创建时机4 类模板对象做函数参数1 类模板语法类模板的作用:建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表语法:template<typename T>类解释:template声明创建模板typename表明其后面的符号是一种数据类型,可以用class代替T是通用的数据类型,名称可以替换,通常为大写字母示例://类模板template<class NameType, cl

2022-05-08 13:49:13 27184 8

原创 C++编程——函数模板

文章目录1 函数模板语法2 函数模板注意事项3 函模模板案例4 普通函数与函数模板的区别5 普通函数与函数模板的调用规则6 模板的局限性模板就是建立通用的模具,大大提高复用性模板的特点:模板不介意直接使用,它只是一个框架模板的通用并不是万能的C++另一种编程思想称为泛型编程,主要利用的技术就是模板C++提供两种模板机制:函数模板和类模板本文介绍的是函数模型的知识1 函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表语法:te

2022-05-03 17:23:46 5685

原创 C++编程——文件操作

文章目录1. 文本文件1.1 写文件1.2 读文件2. 二进制文件2.1 写文件程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化存储C++中对文件操作需要包含头文件fstream文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件的三大类:ofstream:写操作(o是output的意思,人输出那就写操作)ifstream:读操作(i是in

2022-04-30 09:22:20 653

原创 C++编程——多态

文章目录1. 多态的基本概念多态的知识结构:1. 多态的基本概念多态是C++面向对象三大特性之一多态分为两类:静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时的多态静态多态和动态多态的区别:静态多态的函数地址早绑定,在编译阶段就确定了函数地址动态多态的函数地址晚绑定,在运行阶段确定函数地址...

2022-04-27 12:25:49 719

原创 C++编程——继承

文章目录1. 继承的基本语法2. 继承方式继承的知识点结构:继承是面向对象三大特性之一,例如动物类下可以有猫类、狗类。显然猫类、狗类都具有动物类的属性,于此同时,也就有自己独特的属性。这个时候,猫类、狗类就是继承于动物类,采用继承的技术,可以减少重复的代码。1. 继承的基本语法语法:class 子类:继承方式 基类继承示例:一般网页都有很多部分相似的,我们可以将这些相似的部分抽象出来,作为一个基类。然后子类只需要继承基类,在基类的基础上添加自身其他的属性或者方法就可以实现基本的功能,同时减少

2022-04-25 00:18:30 3696

原创 C++编程——运算符重载

文章目录1. 加号运算符重载1.1 通过成员函数重载1.2 通过全局函数重载2. 左移运算符重载2.1 通过成员函数重载2.2 通过全局函数重载3. 递增运算符重载3.1 前置递增3.2 后置递增4. 赋值运算符重载5. 关系运算符重载6. 函数调用运算符重载运算符重载知识结构:运算符重载的概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型1. 加号运算符重载作用:实现两个自定义数据类型相加的运算1.1 通过成员函数重载class Person{public: //

2022-04-21 19:40:54 1289 1

原创 C++编程——友元

文章目录1. 友元的概念2. 友元的三种实现2.1 全局函数做友元2.2 类做友元2.3 成员函数做友元1. 友元的概念友元目的是让一个函数或者类访问另一个类中的私有成员。有一个非常生动的例子,就是家中会有客厅和卧室,此时可以把家看成一个类。客厅是客人都可以进去的地方,可以理解为类内的公有成员;而对于卧室,客人其实是不能进去的,因为是你私密的空间,可以理解为类内的私有成员。但是呢,当一些特殊的客人,比如你的好朋友,亲人来到你家时,你是允许他们进入你的卧室的,这就好比一个类访问另外一个类中的私有成员

2022-04-21 16:33:02 779

原创 C++编程——常函数与常对象

文章目录常函数:List item

2022-04-16 17:30:54 600

原创 C++编程——C++对象模型和this指针

文章目录1. C++对象模型2. this指针1. C++对象模型C++中类对象的成员变量和成员函数是分开存储的非静态成员变量,属于类的对象上静态成员变量,不属于类的对象上非静态成员函数,不属于类的对象上静态成员函数,不属于类的对象上即只有非静态成员变量才属于类的对象上示例1:(空类的对象模型)class Person{};void test(){ Person p; //空对象占用的内存空间为1 //C++编译器会给每个空对象也分配一个字节空间,是为了区分空对象占

2022-04-15 18:54:33 783 1

原创 C++编程——静态成员

文章目录1. 静态成员变量2. 静态成员函数2.1 所有对象共享同一个函数2.2 静态成员函数只能访问静态成员变量2.3 静态成员函数也有访问权限静态成员的知识结构:静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员1. 静态成员变量所有对象共享同一份数据在编译阶段分配内存类内声明,类外初始化2. 静态成员函数2.1 所有对象共享同一个函数由于静态成员函数是所有对象共享的,因此静态成员函数的调用有两种方式:通过对象访问通过类名访问示例:class P

2022-04-13 21:01:56 400

原创 C++编程——构造函数与析构函数

文章目录1. 基本概述2. 构造函数的分类及调用2.1 构造函数的分类2.2 构造函数的调用3. 拷贝构造函数调用时机4. 构造函数调用规则5. 拷贝构造函数的深拷贝与浅拷贝构造函数结构框架:1. 基本概述对象的初始化和清理也是非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知的同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题C++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器

2022-04-12 14:08:13 276

原创 C++编程——类和对象的封装

文章目录1.封装的意义2. struct和class区别3. 成员属性设置为私有类和对象封装的知识结构:1.封装的意义封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装中的访问权限:类在设计时,可以把属性和行为放在不同的权限下加以控制访问权限有三种:公共权限:public(成员类内可以访问,类外也可以访问)保护权限:protected(成员类内可以访问,类外不可以访问。但是发生继承关系时,子类可以访问父类的保护内容

2022-04-11 12:28:07 413

原创 c++编程——函数提高

文章目录1.函数的默认参数2.函数占位参数3. 函数重载3.1 函数重载概述3.2 函数重载注意事项1.函数的默认参数如果我们自己传入数据,就用自己的数据,如果没有,那么就用默认值语法:返回值类型 函数名(形参 = 默认值) {}注意事项:如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值如果函数的声明有默认参数,函数的实现就不能有默认参数(否则会出现默认参数重定义的错误),所以声明和实现只能有一个默认参数2.函数占位参数c++中函数的形参列表里可以有占位参数,用来

2022-04-10 12:54:55 1201

原创 C++编程——引用

文章目录1. 引用的基本使用2. 引用的注意事项3. 引用做函数参数4.引用做函数的返回值1. 引用的基本使用作用:给变量起别名(操作的是同一块内存空间)语法:数据类型 &别名 = 原名2. 引用的注意事项引用必须初始化int &b; //错误的 引用在初始化后,不可以改变int a = 10;int b = 10;int &c = a;int &c = b; //错误的,初始化之后便不可更改3. 引用做函数参数作用:函数传递参数时

2022-04-09 11:23:58 1147

原创 C++编程——程序的内存模型

文章目录1. 内存分区模型内存分区模型的主要知识结构:1. 内存分区模型C++程序在执行时,将内存大致分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量、静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区: 由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收...

2022-04-08 23:54:53 1007

原创 基于SSD的物体检测案例实现

SSD介绍SSD的特点在于:SSD结合了YOLO中的回归思想和Faster-RCNN中的Anchor机制,使用全图各个位置的多尺度区域进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster-RCNN一样比较精准。SSD的核心是在不同尺度的特征特征图上采用卷积核来预测一系列Default Bounding Boxes的类别、坐标偏移。SSD结构以VGG-16为基础,使用VGG的前五个卷积,后面增加从CONV6开始的5个卷积结构,输入图片要求300*300。SSD算法流程

2021-08-31 13:02:45 842 1

空空如也

空空如也

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

TA关注的人

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