自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SUSU0203的博客

千里之行

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

转载 CUDA下在Host端分配的几种内存模式

平时我们使用的内存都是Pageable(交换页)的,而另一个模式就是Pinned(Page-locked),实质是强制让系统在物理内存中完成内存申请和释放的工作,不参与页交换,从而提高系统效率,需要使用cudaHostAlloc和cudaFreeHost来分配和释放。  优点  1、带宽更高  2、内核处理和内存拷贝可同时进行  3、可以内存映射(mapped)  缺点  ...

2019-02-26 16:00:58 803

原创 k-NN

k近邻算法的工作原理:存在一个样本数据集合(训练样本集),并且样本集中每个数据都存在标签,我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集合中前k个最相似的数据,通常k是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为...

2018-12-12 15:51:53 336

原创 多线程——pthread_create使用

利用pthread_create函数,进程同时创建N个线程,各自调用同一个函数pthread_create函数中有四个参数:创建的线程id,线程参数,线程运行函数的起始地址,运行函数的参数利用pthread_join函数等待一个线程的结束,是一个线程阻塞的函数pthread_join有两个参数:指定要等待的线程id,接收线程函数的返回值#include<stdio.h&gt...

2018-10-23 16:11:48 3287 1

原创 CUDA之二维数组分配内存及初始化

       在GPU中,对一维数组分配内存使用的是cudaMalloc函数,但是对于二维数组,使用cudaMalloc来分配内存并不能得到最好的性能。因为对于2D内存,对齐是一个很重要的性质,cudaMallocPitch函数能够保证分配的内存是合理对齐的,满足物理上的内存访问,因此可以保证对行访问时具有最优的效率。对数组进行初始化应当使用cudaMemset2D,进行内存赋值应当使用cudaM...

2018-10-17 16:38:23 8845

原创 VS2013配置使用pthread多线程

  POSIX线程(POSIX threads),简称pthreads,是线程的POSIX标准。该标准定义了创建和操纵线程的一整套API.在类Unix操作系统(Unix、Linux、Mac OS X等)中,都使用pthreads作为操作系统的线程。Windows操作系统也有其移植版本pthreads-win32.下载源码网盘链接: 点击这里 提取码: f2p6版本为pthreads-w3...

2018-10-17 15:32:31 1180

原创 Linux常用指令(持续更新)

第一章 文件与目录操作ls指令:显示目录内容 cd指令:将当前工作目录切换到指定目录 cp指令:复制文件或目录 mv指令:移动文件或改名 pwd指令:打印当前工作目录 rm指令:删除文件或目录 rmdir指令:删除空目录 chgrp指令:改变文件所属工作组 chmod指令:改变文件访问权限 chown指令:改变文件的所有者和所属工作组 find指令:查找文件并执行指定的操作...

2018-10-12 20:22:44 272

原创 C++三个主题

Variadic Templates(since C++11)数量不定的模板参数    我们之前所见的模板参数都是确定的有限个,其实从C++11开始,也允许模板参数不确定。#include<iostream>#include<bitset>using std::cout;using std::endl;using std::bitset;void print(...

2018-06-08 16:35:44 710

原创 C++标准库

Algorithms+Data Structures=Programs算法+数据结构(容器)=程序

2018-06-08 11:49:32 311

原创 Template Template Parameter模板模板参数

    所谓模板模板参数,意思是模板的参数又是一个模板,例如:template<typename T, template<typename U> class Container>class XCls{private: Container<U> c;public: ...};其中,第一个模板参数是类型T,第二个参数是一个Container容器,它...

2018-06-08 11:13:25 3564

原创 Partial Specialization模板偏特化

    在上一篇博客中,我们介绍了模板的全特化。这里,我们将继续介绍模板的偏特化。偏特化包括两种,个树的偏和范围的偏。    个数的偏    如果模板参数有两个,你想绑定其中一个,这就实现了模板的偏特化。但需要注意的是,要按顺序从左到右绑定模板参数,不能跳跃式绑定第一三五个模板参数。template<typename T, typename Alloc=...>class vecto...

2018-06-07 21:57:39 1063 1

原创 Specialization模板特化

    C++中的模板特化不同于模板的实例化,模板参数在某种特定类型下的具体实现称为模板的特化。模板特化有时也称为模板的具体化,分别有函数模板特化和类模板特化。    类模板特化示例如下:#include<iostream>using std::cout;using std::endl;template<class Key>struct hash{ };...

2018-05-29 23:07:31 346

原创 C++之模板template

    C++中的模板可以分为三类:class template,function template,member template。    类模板Class Templatetemplate<typename T>class complex{public: complex(T r = 0, T i = 0) : re(r), im(i) {} complex&a...

2018-05-28 22:44:51 328

原创 浅谈namespace

    namespace即“命名空间”,命名空间是用来组织和重用代码的。之所以会有这一概念,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都不重名。对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数,使用起来就会有问题。通过使用namespace xxx;所使用的库函数或变量就是在该命名空间中定义的,这样一来就不会引起必要的冲突了。    取名规则    ...

2018-05-28 20:08:49 1081

原创 C++之Function-Like Classes,仿函数

    C++中构造的类像函数,首先我们需要清楚函数有哪些特点。函数由返回类型,函数名称,参数(小括号,作用在函数名上)和函数主题组成。小括号内含参数这部分也称作function core operator,函数调用操作符。如果有个东西能接受小括号,那它就是函数function,或者仿函数function-like。    下面的代码实现了仿函数的使用:template <class T1,...

2018-05-28 11:55:41 760

原创 C++之Pointer-Like Classes

    C++中构造的类一般会像两种东西,像指针(称为pointer-like classes,指针类),或者像函数(称为function-like classes)。一个类被设计成指针,被当作指针来使用,是因为我们想在传统指针的基础上多实现功能,或者说想对指针有更多的控制。常见的指针类有两种:智能指针和迭代器。    关于智能指针    C++中常见的智能指针有auto_ptr,scoped_p...

2018-05-23 15:46:27 373

原创 C++中的explicit关键字

    我们在用C++实现分数的时候,除了可以用conversion function转换函数将Fraction对象转换成double型(分子除以分母),还可以用non-explicit-one-argument ctor函数,只有一个实参的非明确函数,进行类型转换。程序如下所示:#include<iostream>class Fraction{public:    Frac...

2018-05-21 11:43:50 385

原创 Conversion Function转换函数

    C++中可以将对象进行类型转换,如下程序所示:#include<iostream>class Fraction//分数 { public: Fraction(int num, int den = 1) : m_numerator(num), m_denominator(den) {} operator double() const { //retu...

2018-05-07 16:26:13 488

原创 机器学习——局部加权线性回归用来预测(内含代码)

    回归的目的是预测数值型的目标值,其中最简单的方法是线性回归,线性回归意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。但是,线性回归的一个问题是有可能出现欠拟合现象,因为它求的是具有最小均方误差的无偏估计。如果模型欠拟合将不能取得最好的预测效果。所以有些方法允许在估计中引入一些偏差,从而降低预测的均方误差。    其中的一个方法是局部加权线性回归(Locally Weighted...

2018-05-04 11:50:14 3776

原创 Burg法求解AR(p)模型参数及MATLAB实现

    在随机信号分析中,可以用AR模型进行功率谱估计。在求解Yule-Walker方程中的AR系数可用Levinson递推算法简化计算,但它需要知道自相关序列。自相关序列实际上只能从随机序列x(n)的有限个观测数据估计得到。当时间序列较短时,的估计误差很大,这将对AR参数的计算引入较大的误差,导致谱估计性能下降,甚至出现谱线分裂与谱峰偏移等现象。如果利用观测到的数据直接计算AR模型的参数,则能克...

2018-05-03 22:25:50 18388 4

原创 2018华为软件精英挑战赛-决赛赛题

以下描述部分主要是相对复赛赛题变化点,其他描述和条件均一致:通用性描述变化点:物理服务器: 物理服务器类型依然为3种:通用型(General)、计算加强型(High-Performance)和内存加强型(Large-Memory),但每种不同类型的服务器具有不同的价格,每启动一台新的服务器,都要开销相应的部署成本。虚拟机规格: 不同规格的虚拟机通常具有不同的租赁价格,假设都只需要考虑按月租赁的场景...

2018-04-28 09:39:54 1958

原创 时间序列分析——自回归移动平均(ARMA)模型

    一、时间序列与ARMA模型    自回归滑动平均模型(ARMA模型,Auto-Regression and Moving Average Model)是研究时间序列的重要方法,由自回归模型(AR模型)与滑动平均模型(MA模型)为基础“混合”而成,具有适用范围广、预测误差小的特点。    一般p阶自回归过程AR(p)是:        (1-1)其中{}为白噪声,为自回归模型的参数。若用滞后...

2018-04-23 22:44:55 70398 2

原创 2018华为软件精英挑战赛-复赛赛题

以下描述部分主要是相对初赛赛题的变化点,其他描述和条件均一致:通用性描述变化点:物理服务器:为了满足不同虚拟机规格的需求,实际物理服务器规格也有多种,假设云平台共有三种类型的物理服务器,分别为:通用型(General)、计算加强型(High-Performance)和内存加强型(Large-Memory),每种类型的物理服务器其CPU数量及内存大小均不一样。资源维度:为了平衡各种资源的使用,需要同...

2018-04-22 20:52:19 1969

原创 指数平滑预测--单指数模型

    前言:2018年华为软赛初赛已经结束,很高兴我们团队取得西北赛区36强的成绩。最近我会在博客上介绍我们使用过的预测方法,首先是指数平滑模型,指数平滑模型是简单高效的预测模型(分数高),我们主要使用的二次指数平滑和三次指数平滑,按7天进行数据加和,来预测短期数据。    时间序列预测方法的基本思想是:预测一个现象的未来变化时,用该现象的过去行为来预测未来。即通过时间序列的历史数据揭示现象随时...

2018-04-22 20:44:39 10277 1

原创 2018年华为软件精英挑战赛-初赛赛题

1、比赛问题定义:背景:云平台为了满足不同租户的需求,提供了一种可随时自助获取、可弹性伸缩的云服务器,即弹性云服务器(Elastic CloudServer,ECS)。为容纳更多的租户请求、并尽可能提高资源利用率、降低成本,自动化、智能化的资源调度管理系统非常关键。本次赛题基本描述由于租户对ECS实例(虚拟机,VM)请求的行为具有一定规律,可以通过对历史ECS实例请求的分析,预测到未来一段时间的E...

2018-04-17 21:33:15 6794

原创 重载、覆盖与隐藏

a.成员函数被重载的特征:(1)相同的范围内(在同一个类中)(2)函数名字相同(3)参数不同(4)virtual关键字可有可无b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于基类和派生类)(2)函数名字相同(3)参数相同(4)基类函数必须有virtual关键字c.隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时...

2018-04-13 17:22:33 174

原创 虚函数与多态

    C++的多态性包括:(1)编译时多态(静态多态):函数重载、运算符重载、模板实现(2)运行时多态(动态多态):虚函数实现    虚函数的概念:    在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。用法格式:virtual 函数返回类型 函数名 (参数表) {函数体} 。作用为通过指向派生类的基类指针或引用来操作对象。    Inheritance(继承)with...

2018-04-13 16:46:40 220

原创 组合与继承

    在面向对象编程(OOP)和面向对象设计(OOD)中,类与类之间有三大关系,分别是继承(Inheritance)、复合(Composition)和委托(Delegation)。一、Composition(复合),表示has-atemplate <class T, class Sequence = deque<T>>class queue{ ...protec...

2018-04-10 16:10:00 195

原创 C++中的static使用方法

一、静态数据成员(static data members)    在介绍静态数据成员之前,我们先来看看普通的数据成员(data members):class complex{public: double real() const {return this -> re;} //在成员函数的参数列表(小括号)中,有隐藏的参数this pointer,是不能写出来的。private: ...

2018-04-10 11:55:49 2352

原创 String类的实现

#ifndef __MYSTRING__#define __MYSTRING__class String{public: String(const char* cstr=0); String(const String& str); ...

2018-04-03 19:14:26 149

原创 堆、栈与内存管理

    C++的内存区域分为五个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。    (1)Stack(栈),是存在于某作用域(scope)的一块内存空间(memory space)。例如当你调用函数,函数本身即会形成一个stack用来放置它接收的参数,以及返回的地址。在函数本体内声明的任何变量,其所使用的内存块都取自上述stack。   (2)Heap(堆),或称system he...

2018-04-02 23:02:50 338

原创 三大函数:拷贝构造,拷贝赋值,析构函数

    在C++中,对于一个空的类,编译器一般会默认它有4个成员函数:构造函数、析构函数、拷贝构造函数、拷贝赋值函数。class String{public: String(const char* cstr = 0);//构造函数 String(const String& str);//拷贝构造函数 String& operator= (const String&a...

2018-03-25 22:43:36 722

原创 复数类的实现

#ifndef __MYCOMPLEX__#define __MYCOMPLEX__//前置声明class complex; complex& __doapl (complex* ths, const complex& r);complex& __doami (complex* ths, const complex& r);complex&am...

2018-03-25 18:41:03 450

原创 操作符重载与临时对象

    在C++中,操作符重载的意思就是把已经定义的、有一定功能的操作符进行重新定义,来完成更为细致具体的运算等功能。C++中有许多内置的数据类型,如char,int,float等,每一种类型都有许多运算符,如加、减、乘、除等。当用户定义了类的对象时,对象之间是不能直接使用这些运算符进行操作的,比如复数的加法。没有重载+运算符,编译器是不知道将复数的实部和实部相加,虚部和虚部相加的。这就是操作符重...

2018-03-25 18:35:09 457

原创 参数传递与返回值

    在C++中,如果声明类的成员函数时,在参数列(小括号)之后函数体(花括号)之前,加上修饰符const,则称该成员函数为类的常量成员函数。我们来看下面这个示例程序:class complex{public: complex (double r = 0, double i = 0) : re (r), im (i) { } complex& operator +...

2018-03-22 23:06:17 540

原创 构造函数

    类的构造函数(construction function)是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。    构造函数的特性有以下几点:    (1)构造函数名和类名完全相同;    (2)没有返回值(void也算返回值);    (3)构造函数创建对象的时候调用构造函数;    (4)默认的构造函数没有参数(如果自己写了构造函数,默认的构造函数不存在),          ...

2018-03-21 21:45:29 326

原创 头文件与类的声明

    我们在开始学习C++时,就应该养成规范大气的编程习惯,头文件(header)的布局就是其中很重要的一个点。我们需要知道头文件中的防卫式声明。#ifndef __COMPLEX__#define __COMPLEX__//前置声明(forward declarations)#include<cmath>class ostream;class complex;com...

2018-03-21 12:33:21 4635 1

原创 C++编程

    写在前面:作为一位编程小白,一位勇敢走在晋级路上的编程小白,我希望能用博客记录自己进步的过程,同时将学习笔记分享出来,和各位朋友共同进步。让我们跟随侯捷老师的脚步,一起开始C++的学习吧! C++面向对象程序设计(Object Oriented Programming, OOP)        学习C++,C++语言是基础,但要成为一个优秀的C++程序猿,还要学会用C++标准库( C++ ...

2017-12-06 10:52:46 244

AR(p)模型的C语言实现

使用AR模型进行数据预测,本代码实现使用Burg算法求解AR模型参数

2018-05-04

2018年华为软件精英挑战赛初赛练习数据

此压缩包中包括2018年华为软赛初赛练习数据,赛题指导和用例示例

2018-05-03

ARIMA模型的MATLAB实现

此压缩包中包括2018年华为软赛初赛练习数据,数据预处理及应用MATLAB自带的ARIMA函数进行算法可行性验证。

2018-05-03

ARMA模型的MATLAB实现

本文档包括2018年华为软赛初赛练习数据,数据预处理,以及用ARMA模型的MATLAB实现

2018-04-30

空空如也

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

TA关注的人

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