自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 红黑树的创建

红黑树的创建

2022-07-06 14:43:33 262 1

原创 AVL树的实现

AVL 树的创建

2022-07-04 10:33:51 139 1

原创 搜索二叉树

搜索二叉树的创建

2022-06-25 15:56:16 197 1

原创 二叉树的遍历——递归与非递归

二叉树的递归和非递归的遍历方式 C++实现

2022-06-23 16:05:47 143

原创 函数模板小总结

函数模板的两种情况:操作系统自动推导和显示指定类型。模板的语法:template <class T> 或者 template<typename T>template<class T>void sum(T a,T b){T c=a+b;cout<<c;}//隐式推导int a=10,b=20;sum(a,b);//显示指定类型int a=10;floate b=20.55;sum<int>(a,b);普通函数和函数模

2022-04-27 17:45:11 213

原创 c++之玩转双指针1

力扣题目第167题:题目链接题目描述:一个有序数组,给了一个目标数,要求从中找到两个数相加等于目标数,然后返回数组下标,数组从1开始。class solution{public:vector<int>twoSum(vector<int>&num,int t){int i=0,j=num.size()-1;while(i<j){if(num[i]+num[j]>t)j--;else if(num[i]+num[j]<t)i++;else

2022-04-12 17:35:29 214

原创 C++之重载操作符

首先,我们先建立一个简单的场景:int a=10; int b=20; int c=a+b; 这时候能得到c的值为30,但是,我们在类中建立一个场景:class person{public: int age; int num;};person m1;person m2;person m3;m3=m1+m2;这时候能知道m3的数据吗?好像不是简单的加减了,操作系统也不知道该怎么办了,需要重新告诉操作系统该怎么做,这个过程叫操作符重载,class person{publi

2022-04-11 22:15:04 708

原创 贪心算法2

问题描述:有一群小孩,每个人都要有一个编号,编号大的孩子要比旁边孩子的得到的棒棒糖多,且每个孩子至少有一个棒棒糖,用最少的棒棒糖分发。力扣135题:题目链接分析:从左向右遍历一遍,大的加一,在从右向左遍历,大的加一或者不变(可能之前就加过)。class Solution {public: int candy(vector<int>& ratings) { int size=ratings.size(); vector<int>

2022-04-01 09:44:08 734

原创 算法训练——每天一题

1、力扣第455题题目链接问题描述:有两个数组,一个代表孩子们的能吃的饼干的数量,另一个代表每个数组位置存储的数量。问:如何分配,才能让最多的孩子吃饱?分析:最优分配原则,让吃的最少的孩子先吃,然后次少的孩子吃,知道满足不了。class child{public: int findContentChild(vector<int >&g,vector<int >&s){ sort(g.begin(),g.end()); sort(s.be

2022-03-31 19:19:10 80

原创 C++之文件操作

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放。文件可以将数据持久化C++中对文件操作需要包含头文件fstream文件类型分两种:1、文本文件:文件以文本的ASCII形式存储在计算机中。2、二级制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂他们。操作文件的三大类:1 ofstream :写文件2 ifstream:读文件3 fstream:读写文件文本文件写文件包含头文件#include<fstream>创建流文件:ofstream

2022-03-29 14:12:04 3231

原创 C++之面向对象知识点

继承面向对象三大特征之一有些类与类之间存在特殊的关系:定义这些类的时候,下级别的成员除了拥有上一级的共性,还有自己的一些特性,这个时候我们就可以考虑利用继承的技术,减少重复的代码。总结:class A:public B;//A是B的子类 或者派生类;//B称为父类 或者基类;派生类中的成员,包括两大部分:一类是从基类继承过来的,一类是自己增加的成员从基类继承过来的表现出共性,而新增加的成员表现出个性;继承的语法:class A:public B继承的方式 有三种:公有继承;cl

2022-03-27 20:29:34 1409 1

原创 C++之面向对象编程知识点

友元友元的目的就是让一个函数或者类访问另一个类中的私有成员友元的关键字friend友元的三种实现:全局函数做友元;类做友元;函数成员做友元。运算符重载运算符重载概念:对已有的运算符重新定义,赋予其另一种功能,以适应不同的数据类型。加号运算符重载作用:实现两个自定义数据类型相加的运算class person{public: person(){}; person(int a,int b){ this->ma=a; this->mb=b; }

2022-03-26 22:58:34 831

原创 C++之面向对象:封装、继承、多态。

1、封装的意义:将属性和行为作为一个整体,表现生活中的事物;将属性和行为加以权限控制。对象的初始化和清理1、构造函数和析构函数一个对象或者变量没有经过初始化就使用后果是未知的;同样的使用完一个对象或者变量,没有及时清理,也会造成一定的安全问题。C++用构造函数和析构函数去解决这类问题。构造函数是对象的初始化,析构函数是对象的清理。如果我们不提供这两个函数,编译器会自动补充。构造函数语法:类名(){}构造函数没有返回值,不需要写void;函数名和类名相同;构造函数可以有参数,因此可以发生

2022-03-26 15:23:18 657

原创 C++之面向对象

面向对象的三大特性:封装、继承、多态。首先我们先介绍一下 面向对象的建立:class 类名{//类里面包含 属性和行为//属性和行为可以分成三种状态:public protected private;//属性就是定义数值、行为就是函数。//如果没有定义权限,默认为private//public: int a; int b; void fun(){}};C++认为万物皆可对象,对象上有其属性和行为。封装封装的意义:将属性和行为作为一个整体,表现生活中的事物,将

2022-03-24 14:40:25 4925 1

原创 C++面向对象知识点

new操作符利用new在堆区开辟数据,而堆区数据的开辟,需要程序员自动开辟,手动释放,需要用到delete。new操作符创建数据时,会返回对象的指针。语法int *a=new int(10);//相当于int *a=10;int *arr= new int[10];//相当于创建一个指针数组,数组大小为10;引用作用 :给变量取别名;语法 :&别名=变量名;例如:int a=10;int &b=a;注意 :引用必须初始化,引用后不能在重新引用。引用可以作为参数进行传

2022-03-22 22:48:22 668

原创 C++的小知识

在我们编写代码时,数据的存储分别是在代码区和全局区。代码区的数据分别是:局部变量;全局性的数据分别是:全局变量,常量。在进行编译后数据存储在栈区和堆区,栈区是局部变量,堆区是全局变量,new可以在主函数外定义堆区,主要是存取堆区函数的地址,所以new存取地址,表达形式:int *p=new int(10);...

2022-03-19 21:58:58 477

原创 链表之双链表的构造

开头一句话,想要数据结构学的好,代码写的顺手,初学者应该在理解原理的基础上对链表的增删查改的功能进行背诵,以后遇到直接写出来,而不是去慢慢想,并且对新手来说,想的代码,大多数时漏洞百出,可能编译都通不过。 废话不多说,让我们来看一些具体的操作吧!//创建结构体typedef struct Dlist{int size;struct Dlist *next;struct Dlist *prev;}DL;```c//初始化头节点DL *buyDlist(x){DL*newnode...

2022-03-17 23:09:32 366

原创 数据结构之单链表

单链表是数据结构入门阶段的第一个难点,学好数据结构也是有方法的,数据结构这本书的存储数据的方式是前辈们总结的方法,我们只要理解后记住就行,不要试着边理解边编写代码,这样只会起到事倍功半的效果。由于在CSDN或者互联网关于单链表知识很容易获取,我只是写个课后随想,切记,数据结构是前辈们写好的,我们先记住,再去理解。//结构体的创建typedef struct Slist{QDATE date;struct Slist* next;}LL;然后是链表的一些基本功能,增删改查。下面我们来一一介绍:

2022-03-13 23:04:50 1012

原创 随机森林算法(RF)和卷积神经网络(CNN)的应用

随着燃料电池的研究的发展,现有的机制并不能很好的很好的解释PEMFC内部工作原理,现在的工作机制主要分成三个部分:黑箱模型、经验模型、半经验模型。随着神经网络的发展,通过收集大量数据,对数据分析,就能够预测我们想要得到数据,不需要严格知道内部反应机理。 本文是针对一篇SCI论文,进行工程上的讲解。首先随机森林算法是选择数据优异的特征数据,对于优异的特征进行排序,进行数据的输入,为了防止过度拟合和高度泛化对数据进行归一化处理。然后进行cnn训练,和深度神经网络(DNN)进行对比,发现CNN预测数据更优异.

2022-03-12 22:34:32 3924

原创 初识单链表

单链表作为数据结构入门的知识点,熟练的掌握有助于进一步的学习。``cstruct slist{int date;struct slist *next;};//首先创建结构体类的单链表类型;进行元素的插入操作```cvoid pushbackslist(LL**ps,int x){LL* mm=(LL*)malloc(sizeof(LL));mm->date=x;mm->next=NULL;if(ps=NULL){*ps=mm;}else{while(ps!=NU

2022-03-12 22:16:44 427

空空如也

空空如也

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

TA关注的人

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