自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (1)
  • 收藏
  • 关注

原创 JDBC模板

JDBC模板

2022-10-25 09:53:35 417 1

原创 数据结构->二叉搜索树->平衡二叉搜索树->红黑树的C++实现

平衡二叉搜索树,红黑树的C++实现

2022-01-16 23:10:03 239

原创 508任务一:用pytorch简单实现LeNet5网络对MNIST数据集训练

import torchimport torchvisionfrom torch import nnfrom torch.utils.data import DataLoaderfrom torch.nn import functional as F#准备数据集train_data=torchvision.datasets.MNIST("./MNISTdata",train=True,transform=torchvision.transforms.ToTensor(),download=T.

2021-08-02 16:22:21 369

原创 508 任务一:卷积神经网络相关概念与pytorch识别手写数字

推荐文章与视频:https://blog.csdn.net/v_JULY_v/article/details/51812459?https://blog.csdn.net/weixin_37763870/article/details/103098532?https://www.bilibili.com/video/BV1Fx41177ws/?spm_id_from=333.788.recommend_more_video.0一:卷积神经网络相关概念1.卷积神经网络:卷积神经网络(Con

2021-07-25 18:40:03 241

原创 508任务:对BP算法(反向传播算法 )理解与5.13式推导

误差逆传播算法是如今最成功,应用广泛的针对多层网络的学习算法,如今的许多学习算法都是它的变体与优化。不过初学很难理解,我也是学了不少时间才慢慢理解。推荐大家观看3Blue1Brown的3个关于深度学习的视频https://www.bilibili.com/video/BV1bx411M7Zx深度学习之神经网络的结构 part1https://www.bilibili.com/video/BV1Ux411j7ri深度学习之梯度下降法 part2https://ww...

2021-07-17 19:25:57 376

原创 机器学习一些基本概念

训练集:使用训练集的数据来训练模型验证集:用验证集验证模型的效果测试集:用测试集测验模型的最终效果,并将测试集上的误差作为泛化误差的近似经验误差:学习器在训练集上的误差成为“训练误差”或“经验误差”泛化误差:在新样本上的误差成为“泛化误差”过拟合:学习能力过于强大,学习器把训练样板学的过好,可能将训练样板自身的一些特点当做了所有潜在样本都会具有的一般性质,从而导致泛化性能下降,这种现象成为“过拟合”欠拟合:学习能力不够强大,指对训练样本的一般性质尚未学好学习率:...

2021-07-16 17:34:38 75

原创 C++ 继承: 父类与子类构造函数与析构函数的关系

C++ 继承: 父类与子类构造函数与析构函数的关系一句话:调用子类构造函数时,父类的先调用,然后调用子类的构造函数。调用子类的析构函数时,先调用子类的析构函数,然后调用父类的析构函数。例:点类,点派生的圆类Circle.h#ifndef CIRCLE_H_INCLUDED#define CIRCLE_H_INCLUDED#include "Point.h"class Circle : public Point{public: Circle(); Circle(int x

2021-06-05 16:08:24 850

原创 C++ 小功能算法模板:读取字符串中的数字

读取字符串中的数字#include <iostream>#include <vector>#include <string>#include <cstdio>using namespace std;int main(){ string a; getline(cin, a); vector<int>digits; int number = 0; for (int i = 0; i < a.length(); i++)

2021-05-29 17:46:02 267

原创 C++ 小功能算法模板:去除数组中重复的数

如何去除数组中重复的部分1.不排序,直接去除重复的#include <iostream>#include <vector>using namespace std;int main(){ int n; cin >> n; int* arr = new int[n]; for (int i = 0; i < n; i++) { cin >> arr[i]; } vector&

2021-05-29 17:30:33 289

原创 C++ 深拷贝与浅拷贝

C++ 深拷贝与浅拷贝浅拷贝:简单的赋值拷贝操作,浅拷贝问题是堆区的内存重复释放,构造函数运行一次,析构函数执行两次,导致报错 深拷贝: 在堆区重新申请空间,进行拷贝操作,构造函数运行两次,析构函数执行两次,这样不会重复释放一块地址的内存。如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,然后用深拷贝,防止浅拷贝带来的问题#include <iostream>using namespace std;class Person {public: //构造函数 P

2021-04-23 10:03:21 84 1

原创 C++ 多态 虚函数与纯虚函数

C++ 多态 虚函数与纯虚函数虚函数是C++重要思想-多态中不可或缺的一个知识点与用法,但初学者一般很难理解,在这里用通俗语言介绍一下。百度百科:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。虚函数:在基类的函数前面加上virtual关键词,表明是虚函数,实际的实现(函数重写)要按照子类中的方式。如大家都喜欢养宠

2021-04-23 09:54:39 179 1

原创 排序算法(6)堆排序

排序算法(6)堆排序---选择排序的高级版思想:利用数据结构堆的思想来排序,堆排序利用了大堆(或小堆)堆顶记录的关键字最大(或最小)这一特征,使得当前无序的序列中选择关键最大(或最小)的记录变得简单。(升序—建大堆,降序—建小堆),可以说是选择排序的高级版。代码实现://堆排序算法函数void HeapSort(int array[], int size){ BuildHeap(array, size); // 初始化堆 for (int i = size - 1; i &..

2021-04-23 09:22:27 64

原创 排序算法(5)快速排序

排序算法(5)快速排序思想:递归,分治法。1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 代码实现:void QuickSort(int arr[], int low, int high)//low和high是上下限{ if (low < high) { int temp = arr[low]; int left = low, right = h.

2021-04-23 09:14:29 74

原创 排序算法(4)希尔排序

排序算法(4)希尔排序原理: 希尔排序也称缩小增量排序;希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时(用gap = gap / n+ 1 控制,越来越小,即增量减小),保证了最后一次进行直接插入排序,算法终止。(其中直接插入排序是希尔排序gap = 1的特例)另外,gap越大,值越大的容易到最后面,但是不太接近有序。 一般gap不要超过数组大小的一半. 你可能会说为什么一开始就直接插入排序,毕竟最后也...

2021-04-23 08:54:21 83

原创 排序算法(3)选择排序

排序算法(3)选择排序原理:思想:两个变种(1)单侧选择:在一个无序数组中选择出每一轮中最大值(或最小值)元素,放到最前面或最后面(升序)(2)双向选择:在一个无序数组中选择出每一轮中最值元素,然后把这一轮中最前面的元素和min交换,最后面的元素和max交换;然后缩小范围(开始位置(begin++)++,最后位置(end–)--),重复上面步骤,最终得到有序序列(升序)。代码实现:单侧选择版:void SelectSort1(int a[], int n){ for (in..

2021-04-23 08:35:10 110

原创 排序算法(2)直接插入排序

排序算法(1)插入排序原理:将数组中的所有元素依次和前面的已经排好序的元素相比较(依次) ,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。代码实现:void InsertSort(int arr[], int n){ for (int end = 1; end < n; end++)//用end的位置控制边界 { //单趟排序 int temp = arr[end];//暂时存储end的值 int i = end - 1; for (;...

2021-04-23 08:11:10 50

原创 排序算法(1)冒泡排序

排序算法(1)冒泡排序原理:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。代码实现:void BubbleSort(int arr[], int n){ for (int i = 0; i < n-1 ; i++) { fo.

2021-04-23 08:05:34 64

空空如也

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

TA关注的人

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