自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 vncserver 配置(ubuntu20.04, gnome desktop)

vnc 远程桌面配置

2024-07-13 16:28:00 275

原创 Xming显示远程服务器GUI的最简单配置

官方下载最新版的Xshell和Xming,直接默认安装配置即可。Xming 可以去下载免费版:https://xming.en.softonic.com/download Xshell 6个人免费版:https://www.netsarang.com/download/free_license.html1. 使用Xshell连接到远程服务器,修改X11Forwarding 改为为“yes”,如被#注释,需取消注释。vi /etc/ssh/sshd_config2. 修改Xshell连.

2022-05-11 11:01:21 7574 3

原创 常量指针和指针常量的简单区分

常量指针和指针常量的简单区分

2022-05-10 15:31:56 463

原创 ssh远程连接服务器免密配置(上传公钥到服务器)

ssh远程连接服务器免密配置(上传公钥到服务器)

2022-04-13 09:36:12 7355 1

原创 快速排序算法

思想:采用分治的思想,在数组中选取一个基准元素(一般取第一个元素),将比它大的元素交换到基准的右侧,比它小的元素交换到基准的左侧,这样就完成了一轮次的排序,该基准元素就被放到了合适的位置。然后采用递归的方法对基准元素左侧和右侧的子序列进行再次排序,直至序列不再可分为止。实现代码:#include<iostream>using namespace std;int Paritition1(int arr[], int low, int high){ int pivot = a

2021-10-22 19:51:17 142

原创 插入排序算法

基本思想:将待排序元素与已排序元素从最右侧比较大小,找到比待排序元素小的元素,插入到其后面成为已排序元素。实现代码void insert_sort(std::vector<int> &arr){ for(int i=1; i < arr.size(); i++) { int temp = arr[i];//待排序元素 int j=i-1; for(; j >=0; j--)

2021-10-17 18:00:32 79

原创 选择排序算法

基本思想:在一次遍历中选出本轮中的最大或者最小值,放到最右边,下次遍历时不再遍历最后一个元素。实现代码#include "select_sort.h"#include <algorithm>void select_sort(std::vector<int> &arr){ for(int i=0; i <arr.size(); i++) { int min_index=i, max_index = i; f

2021-10-17 17:02:10 67

原创 冒泡排序算法

视频链接:轻松搞定十大经典排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序、计数排序、桶排序和基数排序)_哔哩哔哩_bilibili基本思想:从左到右相邻两个元素进行比较大小将最大的交换到最右侧,改进方法为添加标志位,如果当前轮次没有发生元素交换,则证明数组已经有序,终止排序。实现函数代码(基于C++ std标准库实现)void bubble_sort(std::vector<int> &arr){ for(int i=0; i &lt

2021-10-17 12:01:54 94

原创 CMakeLists.txt

project(bubble_sort)AUX_SOURCE_DIRECTORY(src DIR_SRCS)include_directories(include)add_executable(${PROJECT_NAME} ${DIR_SRCS})

2021-10-17 11:44:48 79

转载 C++删除文件

使用remove函数删除本地文件:  头文件:#include <stdio.h> //C      #include <cstdio> //C++  函数原型:int remove(const char * filename);  返回结果:如果成功返回 0,失败返回“EOF”( -1)。代码示例:#include<iostream>#include<cstdio>using namespace std;int..

2021-09-15 16:22:05 24281

原创 ROS学习笔记-创建工作空间与功能包

工作空间是一个存放工程开发相关文件的文件夹,主要分为4个文件夹。src: 代码空间,主要存放功能包的源代码build: 编译空间, 主要存放编译过程中产生的中间文件devel: 开发空间,主要存放编译生成的可执行文件、库等install: 安装空间,存放开发完成后的安装包,与devel有些重复,Ros2中去除了这个空间build和devel通过catkin_make命令自动创建,install 文件夹由 catkin_make install 命令自动创建。创建工作空间

2021-09-02 23:54:46 111

原创 C++函数

1.函数的默认参数语法:返回值类型 函数名 (参数 = 默认值){ }注意事项:(1)如果某个位置已经有了默认参数,那么从这个位置往后,都必须有默认参数(2)声明和实现只能一个有默认参数,声明和实现均含有默认参数,编译器将不知道按照哪个默认参数操作,编译会报错代码示例:#include<iostream>#include<vector>#include<array>using namespace std;// 如果未传入数据...

2021-08-02 09:52:51 80

原创 C++中的引用

目录1.引用的基本作用2.引用的注意事项3.引用做函数参数4.引用做函数的返回值5.引用的本质6.常量引用1.引用的基本作用作用:给变量起别名语法:数据类型 &别名 = 原名int a = 10;int &b = a;2.引用的注意事项引用必须要初始化int &b; // 未初始化,错误引用初始化后不能发生更改3.引用做函数参数作用:函数传参时,可以用引用技术让形参修饰实参优点:可以简化指针修饰实参代码示例

2021-08-02 00:39:49 180

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

1. 内存分区模型C++程序执行时,将内存划分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理。全局区:存放全局变量和静态变量及常量。栈区:由编译器自动分配释放,存放函数的参数(局部变量),局部变量等。堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。不同区域存放的数据,赋予不同的生命周期。程序运行前程序编译后,生产了exe可执行程序,未执行该程序前分为两个区域:代码区:存放CPU执行的机器指令。 代码是共享的,共享...

2021-08-01 16:59:52 277

原创 C++结构体基本知识

1. 结构体基本概念用户自定义的数据类型,用于存储不同的数据类型。2. 结构体的定义和使用语法:struct 结构体名 {结构体成员列表};通过结构体创建变量的三种方式:Struct 结构体名 变量名Struct 结构体名 变量名 = {成员1值,成员2值,…}定义结构体时顺便创建变量下面通过代码来说明#include<iostream>#include<vector>#include<array>using namespace

2021-08-01 16:21:19 408

原创 C++指针基础知识总结

1. 指针的定义和使用方式int a = 10;int *p = &a;*p = 100;2. 指针所占的内存空间32位系统为四个字节(无论指向的数据类型是什么), 64为系统为8个字节。3. 空指针int* p = NULL;int* p = nullptr;4. 野指针int* p = (int *)0x0100 //直接指向特定的地址,会报错。5. const 修饰指针(1) const int *p 常量指针(const在前,*在后),指针的.

2021-07-31 00:04:30 413

转载 时间复杂度和空间复杂度

一、时间复杂度大O符号表示法 ,在 大O符号表示法中,时间复杂度的公式是: T(n) = O( f(n) ),其中f(n) 表示每行代码执行次数之和,而 O 表示正比例关系,这个公式的全称是:算法的渐进时间复杂度。常见的时间复杂度量级有:常数阶O(1) 对数阶O(logN) 线性阶O(n) 线性对数阶O(nlogN) 平方阶O(n²) 立方阶O(n³) K次方阶O(n^k) 指数阶(2^n)上面从上至下依次的时间复杂度越来越大,执行的效率越来越低。1.常数阶O(1)无论代

2021-07-22 16:56:47 205

原创 pytorch 使用AlexNet实现Mnist手写数字识别

AlexNet网络框架如下:AlexNet的原始输入图片大小为224*224,Mnist数据集中图片大小为28*28,所以需要对网络参数进行修改。先掉用train函数进行训练,训练好的参数会保存在params.pth文件中,训练好使用本地图片(画图软件生成)进行测试。完整程序如下:import torchimport torchvision as tvimport torchvi...

2020-03-16 16:23:02 6460 18

原创 pytorch实现个人手写数字识别

网上的大多数例子都是基于Mnist数据集进行测试的,今天实现一个自己手写数字的识别。首先训练模型,使用Mnist数据集,网络的backbone采用LeNet。1. 导入需要的模块并添加GPU设备import torchimport torchvision as tvimport torchvision.transforms as transformsimport torc...

2020-03-15 21:14:27 983

原创 使用numpy实现一个简单的2层神经网络

import numpy as npdef main(): # 2层神经网络,64个输入1000维,1个隐藏层100维,输出10维 N, D_in, H, D_out = 64, 1000, 100, 10 # 随机初始化样本 x = np.random.randn(N, D_in) y = np.random.randn(N, D_out) ...

2020-02-21 19:06:06 473

原创 链接器脚本学习

基本构成:段    程序通常是由:代码段,数据段,bss段构成的。 其中数据段存放的是初始化后的前期变量,bss段存放的是没有初始化的前期变量。    在用于链接这个程序的链接器脚本中,就会反映出这几个段的信息。后缀名为  .ldsSECTIONS{ . = 0x30000000; //代码段的起始链接地址 . = ALIGN

2018-01-24 21:17:33 130

使用numpy实现简单的双层神经网络

使用numpy实现简单的双层神经网络 2层神经网络,64个输入1000维,1个隐藏层100维,输出10维

2020-02-21

空空如也

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

TA关注的人

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