自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法总结(目标是在这周六晚上晚上之前完成,尽量详细,深入)

1.总起2.排序算法2.1选择排序2.1.1算法原理找到数组中最小的元素,和第一个元素交换,再在剩余的元素中(未排序元素)找到最小的元素,和第二个元素交换,如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它不断地在剩余元素中选择最小者。2.1.2算法特点比较次数为N22\frac {N^2} {2} ,这个是很显然的,交换次数为N运行时间和输入无关,也就是说对于一个有序数组和一个元素随机

2017-04-04 23:32:58 462

转载 c++学习网站

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ –数以千计的有用的C语言源代码片段2、http://www.

2017-03-31 15:01:35 714

原创 利用scikit-learn下的knn实现kaggle的手写数字识别问题

题目的数据来自于kaggle的Digit Recognizer(手写数字识别),https://www.kaggle.com/c/digit-recognizer/data。 python代码如下(python的版本是3.5):# -*- coding:utf-8 -*-'''Created on 2017年3月28日@author: okcing手写数字识别'''import csvfr

2017-03-29 20:16:21 2749 1

转载 数据挖掘中所需的概率论与统计知识

据挖掘中所需的概率论与数理统计知识  (关键词:微积分、概率分布、期望、方差、协方差、数理统计简史、大数定律、中心极限定理、正态分布)导言:本文从微积分相关概念,梳理到概率论与数理统计中的相关知识,但本文之压轴戏在本文第4节(彻底颠覆以前读书时大学课本灌输给你的观念,一探正态分布之神秘芳踪,知晓其前后发明历史由来),相信,每一个学过概率论与数理统计的朋友都有必要了解数理统计学简史,因为,只有了解

2017-03-28 16:03:53 906

原创 机器学习(Ng教授)学习笔记

1.机器学习机器学习中常见的的有监督学习(supervised learning)和非监督学习(unsupervised learning),监督学习通俗来说就是在训练模型中,给定的数据既有特征变量也有对应的输出值,也就是说监督学习提前知道正确的结果,并根据此来进行预测。那么相应来说,非监督学习就是在给定训练集中,非监督模型并不知道数据含义,也就是说并没有告诉算法什么才是正确输出,算法需要自己学习。

2017-03-26 19:25:05 504

原创 BinarySearch二分法查找

二分法查找思路比较简单,对于一个有序且无重复的序列,使用二分法查找的时间复杂度为O(lgN),效率很高,下面是二分法查找的代码实现,虽然代码很简单,但是一定要注意细节,做到轻松手写二分查找也是不错的嘛。 cpp实现:#include<iostream>#include<vector>using namespace std;int bs(int n,vector<int> v, int lo,

2017-03-24 18:33:25 301

转载 决策树资料整理

近日来看了一些决策树的资料,在网上查找资料时,深感决策树的资料不是很多,特将本人能用上的一些资料共享在此。在此感谢数据挖掘研究院的论坛,里面有许多这方面的资料,只是没有整理在一起。C5.0算法的Demo程序http://www.rulequest.com/download.htmlhttp://www.rulequest.com/See5-demo.zip C5.0算法说明See5: An Inf

2017-03-23 11:17:39 325

原创 Union-Find问题

1.问题分析所谓union-find问题就是动态图连通性问题,为什么叫做union-find呢?我认为原因应该是在动态图连通性问题中,union操作是将两个连通子集(connected components)连接起来(不仅仅是连接两个点),find操作是查找是否连通(实际可能会有些不同),是两个十分重要的操作,因此称此类问题为union-find问题。 首先我们认为,连通关系(connected)

2017-03-22 10:00:04 1491

原创 Octave常用语句指令

1.Octave简介Octave是一个和MATLAB十分类似的软件,相比MATLAB而言,Octave的优点在于开源免费,体积相对很小。而且两者的语法相差也很小,一个能在其中一个软件上运行的程序稍作修改就能够运行于另一个软件之上。下面记录一些Octave常用的语句和指令。2.常用语句指令2.1四则运算利用Octave进行四则运算比较基础,和常见的科学计算器用法类似。2.2逻辑运算 "1 ==

2017-03-21 16:38:00 9076 2

转载 拷贝构造函数

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copy print?int a = 100;  int b = a;   int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。[c-sharp] view plain

2017-03-21 13:12:58 210

转载 C++构造函数总结

http://ticktick.blog.51cto.com/823160/194307        c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。

2017-03-21 12:55:11 263

原创 1207/2016

今天学习了线性代数。对于一个线性变换(从自身映射到自身),在不同的基下有着不同的矩阵表示,但是这些矩阵是相似的。相似:存在可逆矩阵T,使得A=T(-1)BT,那么称矩阵A和B相似。对于一个线性变换,矩阵表示在基不同时,矩阵不同,但是线性变换存在着自身的相似不变量:特征多项式,特征值,特征子空间,行列式,rank,以及trace。也就是说,对于相似矩阵,这些量是一样的,注意:特征向量不同。相似关系是

2016-12-07 20:53:18 316

原创 1206/2016

今天主要是学习了线性代数和C#的枚举器和可枚举类。对于线性空间进行了推广,由一般的三维空间,到n维的向量空间,再到一般的线性空间。由类比那么我们就可以定义,一个普通的集合V和数域F如何才能够构成线性空间:首先有"加法",满足封闭性(实质是两个V集合映射到一个V集合),然后有“数乘”,同样要满足封闭性(实质是F和V的组合,映射到V集合)。接下来要满足八条性质,四条关于加法,四条关于数乘。这样集合V才

2016-12-06 21:46:40 208

原创 1205/2016

今天学习了线性代数,向量组的极大无关组,rank,等价概念。以及完整解答了当给出一个线性方程组时(线性方程组利用向量组的线性组合表示),有解,有唯一解的条件,以及线性方程组解的集合含义(其次方程组解构成了n-r维的线性子空间,非其次方程组构成的空间是在其次方程组构成的解空间的基础上平移一个向量,该向量就是非其次的特解)。复习了C#的枚举,泛型的概念。泛型的协变和逆变的概念大体上了解了,但是没有掌握

2016-12-05 23:26:03 200

原创 1203/2016上午

今天上午主要是在学习线性代数。范德蒙德行列式如何求值?(依次递推的方法)。克莱默法则如何推导?(每个方程都乘上代数余子式)。逆矩阵的定义,和求法(利用伴随矩阵计算,利用AX=I解方程组,以及初等变换求),奇异矩阵利用伴随矩阵求不了逆,除数为0;利用初等变换也求不成,因为根本化不成单位阵。矩阵rank的本质是啥?(矩阵经过初等行变化之后,化为阶梯型,非零行的行数就是rank)。

2016-12-03 12:04:39 218

原创 1201/2016下午晚上

下午和晚上主要都在看线性代数,Trace迹的计算是对于方阵而言的,对于一个线性方程组,它的解的一般形式的推导过程,行列式为何以这样的准则展开。行列式的递归展开定义,和行列式的集合定义:看作是n维空间的以各个行向量张成的平行多面体的体积,主要以三阶行列式和混合积和平行六面体的体积来类比。由几何定义可以自然而然的得到很多行列式的性质,行列式的线性性,反对称性以及单位性。行列式的9个性质,方便计算。对于

2016-12-01 21:02:12 201

原创 1201/2016上午

上午看了一节游戏岛于连军老师的视频,之后看了入门精要的几节。主要是更深入了解(还没有掌握。。)subshder的一些知识,标签设置(Tags),有“QUEUE”以及它对应的值。“RENDERTYPE”以及对应的值,还有忽略投影,强制无阴影等等。还有渲染状态的设置剔除模式,深度值检测,深度值写开启,混合模式,alpha混合模式,fog等等。表面着色器和顶点/片元着色器的位置不同,三种不同的着色器最终

2016-12-01 16:36:27 249

原创 1130/2016下午

下午还是在看线性代数,复习了怎么解线性方程组,怎么是有解的,怎么是无解的,有解是不是唯一解,这些都需要将原来的矩阵经过初等行变换,变为简化阶梯型矩阵来看,至于其中几何关系,涉及到线性空间,还在后面再看。对于齐次方程,必然有零解,非零解还是要看简化阶梯型矩阵的形式。至于多个解谁来做自由变量即参数呢?就是除了在简化阶梯型矩阵中作为某一行首个非零元素对应的变量之外,其它的向量,应该做自由变量。各种矩阵,

2016-11-30 18:22:01 194

原创 1130/2016上午

今天上午收获挺多的,最重要的是终于对于渲染管线理解了一部分。对于GPU的渲染流程,首先是顶点变换,将顶点由自身坐标系,转换到世界坐标系,再转换到摄像机坐标系,最终转化到屏幕坐标系。然后进行面处理,顶点能够构成三角形,最终构成复杂的几何体的mesh网格。面处理包括面组装,顶点组装成面;面截取,不在摄像机范围的直接截取,分为全部在摄像机之外,部分在摄像机之外等等,算法也不相同;面剔除,反面剔除,视锥剔

2016-11-30 15:16:25 218

原创 1129/2016/下午

期末要到了,要考矩阵论,但是我还是打算先好好复习一下线性代数,在去看矩阵论。因为我觉得以后做3D的东西主要用到的还是线性代数的知识,用不到矩阵论这么高深的内容,所以把线性代数知识打牢固,同时也有利于复习矩阵论。我在网上下到了中科大陈发来教授的课程,感觉他讲的很好,有大家感觉,真的很棒。想起我大学时候的线性代数的老师,连话都讲不清楚,真是天差地别呀。下午看了四节课的视频吧,老师主要是讲了如何将几何体

2016-11-29 19:29:07 241

原创 1129/2016/上午

我决定以后每天都写写自己的收获,简单写写,就为了知道自己学了什么,收获了什么,也是为了督促自己吧。今天早上主要是再看unity的官方文档,关于材质和shader的部分。知道了材质和shader含义。了解了标准shader的面板。标准shader与以往不同的是采用了PBS,让材质在与光交互的时候,十分真实。PBS的一些术语:能量留存,HDR,漫反射,高光等等。标准shsder分为金属和镜面两种,

2016-11-29 12:25:43 184

原创 制作小游戏flappy bird的总结

1.实现2D游戏的动画效果可以让显示的图片轮流显示所有的帧。比如这个游戏里面小鸟扇动翅膀是一个三帧画面,那么就设置图片的属性来实现。2.实现长关卡可以通过让摄像机看不到的镜头移动到摄像机即将要看到的镜头来实现,不必要也不可能将关卡设计无限长。3.设计模式中的单例模式。4.GameObject类中的SendMessege方法,可以执行该类中某个名称的方法。5.OnCollisionE

2016-11-20 21:23:00 866

原创 .NET中的委托与事件的编码风格

1.委托名以EventHandler结束。2.委托的定义原型:返回值总是void,接收两个参数:一个事Object类型,一个是EventArgs类型(或者是它的派生类)3.事件的命名是委托名称去掉EventHandler的部分。4.若是继承自EventArgs类,则应该以EventArgs结尾。5.Object类代表的是被监视的对象,很符合逻辑。6.EventArgs包含了监视

2016-11-19 21:37:28 173

原创 抽象类和抽象方法

我认为抽象类和抽象方法是面向对象编程中十分重要的,利用这个特性来让所有操作是都在基类上,实现了多态的特性。抽象类:1.抽象类的声明。在类名前面的修饰符中添加abstract修饰符就能得到一个抽象类。2.抽象类可以包含普通方法,也可以包含抽象方法;但是,包含抽象方法的类必为抽象类。3.抽象类无法实例化,但是可以将抽象类的引用变量指向其非抽象子类。我认为这点很重要,可以实现基于抽象

2016-11-16 16:27:07 375 1

原创 .NET程序开发运行框架

.NET程序的运行要基于CLR公共语言运行时,也就是.NET虚拟机,最终运行的代码是本地代码。

2016-11-15 20:18:37 274

原创 枚举小结

使用枚举的好处很多,直观,方便,便于维护,不易出错等等,我的感受也不是很直观,多用用就知道了。1.枚举的声明:enum Color{ Green, Yellow, Red}其中enum是关键字,类似calss,struct等等,Color是枚举名。2.枚举的底层整数类型。可以显式指定,会默认为int类型。利用这点可以讲枚举中的字段与一个整数对应起来。具体的规

2016-11-07 10:20:59 221

原创 结构小结

在C#中,结构和类两种类型是十分类似的,拥有数据成员和函数成员,但是不同的是结构是值类型而不是引用类型,结构是隐式密封的,因此不能派生。1.结构成员。可以说除了析构函数,类拥有的成员结构都是拥有的。比如字段,构造函数,属性,索引器等等。2.结构是值类型,在赋值时,直接将结构复制之后传递给另一个结构,这和类赋值是是不一样的,类赋值之后两个实例只是在栈中的两个引用,指向堆中的同一个数据对象

2016-11-07 09:11:43 213

原创 构造器小结

C#类中的构造器作用是在类初始化的时候调用,给类中的一些字段赋上初始值。1.构造函数的结构。构造函数名必须和类名相同。虽然叫做函数,但是没有返回值。2.构造函数的参数。构造函数的参数规则和普通的参数使用规则是相同的。构造函数可以重载,实现不同的初始化实例。3.默认构造函数。若是在类的定义中没有显式声明实例构造函数,那么类默认一个无参数,方法体为空的实例构造函数。但是若是声明了一个实

2016-11-06 16:42:48 198

原创 Method方法小结

C#中的方法是类的成员,可以用来实现类或者对象的操作和计算,下面列出几点在方法中要注意的部分。1.方法的结构。包含了方法修饰符,返回值类型,方法名,形参和方法体。其中方法名,形参的个数,形参的类型,形参的传递模式(值,引用,输出)组成方法的签名。若是要实现方法的重载,必须保证方法的签名是唯一的,即这样就实现了方法名可以重复使用的目的。2.对于方法调用的理解。在一个类中或者一个方法中调用

2016-11-06 15:58:58 733

原创 属性小结

属性可以用来灵活地读,写和计算一个私有字段的值,这个和属性相关联字段称为后备存储。1.属性的声明。class TimePeriod{ private double seconds; public double Hours { get { return seconds / 3600; } set { seconds = valu

2016-11-05 15:18:50 210

原创 字段小结

字段就是属于类的变量,用来存储类的重要数据。字段往往可以在该类的多个方法中使用,且存在周期是比任何一个单个方法的存在周期都要长的。字段在声明时可以加不同的修饰符,就有不同的字段。1.静态字段。静态字段存在与类级别,访问的方式也是类名+句点(period)+字段名。对于静态字段来说,只存在一个副本,改变之后对于所有实例都会产生影响。而实例字段存在多个副本,改变一个实例的实例字段不会影响到其他

2016-11-05 14:18:45 264

原创 继承小结

继承,封装和多态是OOP面向对象编程的三大特性,在C#中所有类都继承于Object类。集成用于创建新类,这些新类的行为可以是复用,扩展和修改其他类的行为。一个类只能有一个直接基类,但是继承可以传递,所有一个类可以有很多基类。1.从概念上来说,派生类实际上是基类的特例。比如存在基类“动物类”,派生类“哺乳动物类”和“爬行动物类”。哺乳动物也是动物,但是动物就不能说是哺乳动物。类似的,子类可以

2016-11-03 21:10:26 176

原创 静态类和静态成员小结

静态类的总结:1.静态类和非静态类十分类似,但是有一点,静态类是不能被实例化化的,因为静态类中就没有实例化的变量。也就是说,对于静态类不能使用new关键字。要想访问静态类中的成员,必须用类名来索引。2.那么什么时候使用静态类比较合适呢?当一个类的方法只会处理到用户输入的变量,而不会涉及该类自身的字段,那么使用静态类比较好。比如Math类,只会对用户输入的数据作处理。3.当加载静态类

2016-11-03 20:19:05 239

原创 this用法小结

this主要是用作引用一个类的当前实例对象,也可以用在扩展方法里面,我主要总结一下前者的主要用途。1.用来限定被相同名字隐藏的类成员。这里主要指的就是构造函数。比如public Employee4(string name, string id) { this.name = name; this.id = id; }这是一个类的构造函数

2016-11-03 19:49:36 285

原创 使用pyton写2048游戏

python看了差不多两周,今天想着就用python写一个2048,还没有学UI,就在控制台上显示。这是我参考一个教程写的,不是自己独立做的,我觉得这个这个游戏的思想十分有意思,就写出来供大家参考。       整个程序的语法十分简单,没有用到面向对象编程,基本上就是利用列表等序列和函数实现的,原教程的代码200行左右,我完善了一些功能,代码差不多300多一点,但是整个代码的复用特别多,真正核

2016-10-20 18:42:40 369

原创 python学习笔记二

4.2.3.字典的格式化字符串对于树上所谓的格式化,我的理解就是在打印输出中,由于双引号的存在,其中的变量之类符号都会失效,使用格式化字符串,则可以保证输出。对于字典的格式化字符串,与字符串格式化的区别就是在操作符%之后先加上一个括号,并在括号之中添上键名,最后加上字典名。4.2.4.字典方法(1)clear方法。清空字典中的所有元素。这是个原地操作,也就是没有返回值,不用拿一个新

2016-10-13 21:47:26 282

原创 python学习笔记一

2.1序列概览python有6中内建的序列,经常使用的有两种类型,列表和元组.列表和元组的主要区别在于,列表可以修改,但是元组不能修改,在自己编写的程序中,基本都可以用列表来替代元组(有一个例外)。2.2序列的基本操作   所有类型的序列都可以进行某些特定的操作,比如索引(indexing),分片(slicing),加,乘,以及检查某个成员是否属于该序列。此外python中还带有一

2016-10-12 22:01:08 322

原创 C++学习笔记三。3.

今天看了C++primer的第三章,真是精彩,但是确实讲的很细致,想要全部掌握还是有难度的。一。1.首先在C++中要使用与string相关的必须在头文件中包括#include,这一点和C还是有很大区别的。对于字符串变量的初始化,除了之前常见的,还有一种类似于利用构造函数初始化。比如string s(10,'c'),string("okcing"),这样子的初始化。也叫做直接初始化。2.要知道字

2016-10-08 21:24:44 321

原创 C++学习笔记2

第二次更新博客,感觉不错,国庆节自己犯懒没有坚持写博客,不应该,以后要每天坚持写博客。今天主要看了c++primer的第二章,许多东西以前就会,不过也有很多新收获。下面写写自己的收获。1.一个字到底是几个字节是由机器决定的,在32位的机器上,就是4个字节,64位的机器上,就是八个字节,一个字节byte是由8个比特bit组成的。2.以前取余数和取模值总是混为一谈,其实也是有区别的,例如a/b,余

2016-10-07 21:24:46 204

原创 C++primer学习笔记第一天

以前也看过什么谭浩强的C++,也看过所谓的21天,从入门到精通,感觉收获也不大,当然自己看的也不认真。前段时间下定决心好好学习C++,于是买了C++primer,的确实是一块大砖头,但今天早上读了第一张之后发现,他被叫做C++入门宝典真的是有原因的,以前了解的一些C++的基础知识,都不求甚解,会用就行,但心中总有疑惑,用起来也不爽,下面我就写一些自己看了C++primer的读书笔记,写的不好,还请

2016-10-04 11:23:13 484 2

空空如也

空空如也

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

TA关注的人

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