- 博客(38)
- 资源 (19)
- 收藏
- 关注
转载 Java 集合类详解
0.参考文献http://blog.youkuaiyun.com/liulin_good/article/details/62138151.java集合类图1.11.2 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,
2016-06-13 15:20:56
333
转载 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛。尽管安装其实很简单,书上有写到,官方网站也有 Hadoop 安装配置教程,但由于对 Linux 环境不熟悉,书上跟官网上简略的安装步骤新手往往 Hold 不住。加上网上不少教程也甚是坑,导致新手折腾老几天愣是没装好,很是打击学习热情。本教程适合于原生 Hadoop 2,包括 Hadoop 2.6.0, Hado
2016-06-06 11:59:09
387
原创 原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式
2016-04-26 10:20:58
1080
转载 JAVA 学习之extens和implements的用法
理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。(1)继承[java] view plain copy class Animal{ void eat(){ System.out.p
2016-04-22 11:23:21
886
转载 详细解说STL hash_map系列
详细解说STL hash_map系列详细解说STL hash_map系列0 为什么需要hash_map1 数据结构:hash_map原理2 hash_map 使用2.1 一个简单实例2.2 hash_map 的hash函数2.3 hash_map 的比较函数2.4 hash_map 函数3 相关hash容器4 其他4.1 hash_map和map的区别在哪里
2016-04-21 18:19:10
336
转载 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩:纹理映射技术(一)
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 文章链接: http://blog.youkuaiyun.com/zhmxy555/article/details/8523341作者:毛星云(浅墨) 邮箱: happylifemxy@163.com 本篇文章里,我们对Direct3D之中固定功能流水线中的纹理映射相关的知识
2016-04-18 15:25:54
961
原创 URL格式
URL格式编辑定义:在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。中文名URL格式外文名Uniform Resource Locator符 号资源定位符平 台网络目录1语法2格式说明
2016-04-15 11:41:20
480
转载 奇异值分解(SVD)原理详解及推导
在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系。前段时间看了国外的一篇文章,叫ASingularly Valuable Decomposition The SVD of aMatrix,觉得分析的特别好,把矩阵和空间关系对应了起来。本文就参考了该文并结合矩阵的相关知识把SVD原理梳理一下。 SVD不仅是一个数学问题,在工程应用
2016-04-01 19:27:48
1489
转载 排序算法——快速排序
今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。思想快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也
2016-03-23 10:23:03
279
转载 Hoeffding不等式的证明
Hoeffding不等式: 对于m个独立的随机变量X1,X2,⋯,Xm,且所有的Xi都有界[a1,bi]。令x¯¯¯=∑i=1mXim,则有一下不等式成立:P(x¯¯¯−Ex¯¯¯≥t)≤exp(−2t2m2∑i=1m(bi−ai)2)Proof: 首先,对于任一函数f(z),有:I{f(z)>0}≤exp(ηf(z))⋯⋯⋯⋯⋯⋯⋯(1)则P(x¯¯¯−Ex¯¯¯≥t)=E(
2016-03-22 11:41:24
800
转载 Hoeffding不等式的证明
Hoeffding不等式: 对于m个独立的随机变量X1,X2,⋯,Xm,且所有的Xi都有界[a1,bi]。令x¯¯¯=∑i=1mXim,则有一下不等式成立:P(x¯¯¯−Ex¯¯¯≥t)≤exp(−2t2m2∑i=1m(bi−ai)2)Proof: 首先,对于任一函数f(z),有:I{f(z)>0}≤exp(ηf(z))⋯⋯⋯⋯⋯⋯⋯(1)则P(x¯¯¯−Ex¯¯¯≥t)=E(
2016-03-22 11:40:50
1559
2
转载 神经网络和反向传播算法推导
1.普通的机器学习模型:其实,基本上所有的基本机器学习模型都可以概括为以下的特征:根据某个函数,将输入计算并输出。图形化表示为下图:当我们的g(h)为sigmoid函数时候,它就是一个逻辑回归的分类器。当g(h)是一个只能取0或1值的函数时,它就是一个感知机。那么问题来了,这一类模型有明显缺陷:当模型线性不可分的时候,或者所选取得特征不完备(或者不够准确)的时候,上述分类器效果并不
2016-03-21 11:54:36
517
转载 Cholesky分解法
Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分解的局限性和误差的过分积累,采用了选主元的方法,但对于对称正定矩阵而言,选主元是不必要的。 定理:若对称正定,则存在一个对角元为正数的下三角矩阵,使得成立。 假设现在要求解线性方程组,其中为对称正定矩阵,那么可通过下面步骤求解 (1)求的Cholesky分解,得到
2016-03-17 10:26:32
1396
原创 矩阵、向量求导法则
复杂矩阵问题求导方法:可以从小到大,从scalar到vector再到matrix。 x is a column vector, A is a matrix$d(A*x)/dx=A$ $d(x^T*A)/dx^T=A$ $d(x^T*A)/dx=A^T$ $d(x^T*A*x)/dx=x^T(A^T+A)$ practice
2016-03-16 11:16:10
273
转载 线性回归&梯度下降
一、总述线性回归算法属于监督学习的一种,主要用于模型为连续函数的数值预测。过程总得来说就是初步建模后,通过训练集合确定模型参数,得到最终预测函数,此时输入自变量即可得到预测值。二、基本过程1、初步建模。确定假设函数 h(x) (最终预测用)2、建立价值函数 J(θ) (也叫目标函数、损失函数等,求参数 θ 用)3、求参数 θ 。对价值函数求偏导(即梯
2016-03-13 18:29:56
361
转载 Java关键字final、static使用总结
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子
2016-03-01 17:59:57
236
转载 OpenGL ES 三种类型修饰 uniform attribute varying
1.uniform变量uniform变量是外部application程序传递给(vertex和fragment)shader的变量。因此它是application通过函数glUniform**()函数赋值的。在(vertex和fragment)shader程序内部,uniform变量就像是C语言里面的常量(const ),它不能被shader程序修改。(shader只能用,不能改)
2016-02-26 13:45:44
347
转载 线程同步的总结
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这
2016-02-18 17:46:00
477
原创 memset
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。 void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef u
2016-02-02 13:44:21
286
转载 详解c++指针的指针和指针的引用
展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它。(这里说的指针的指针不是一个二维数组)为什么需要使用它们当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的copy而不是指针本身,原来的指针还保留着原来的值。我们用下边的代码说明一下问题:
2016-01-29 16:15:22
274
转载 查看linux静态库*.a中的函数和文件 拿appro 2a算法库开刀
查看linux静态库*.a中的函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构windows下dumpbin /exports libxxx.alinux 下nm -g --defined-only libxxx.a下面是appro算法库中的文件1、Appro_2a_lib.a[c
2016-01-25 14:25:50
624
转载 查看linux静态库*.a中的函数和文件 拿appro 2a算法库开刀
查看linux静态库*.a中的函数和文件,这对某些时候是非常有用的,比如我现在正在尝试替换掉appro的2a算法库,这就需要了解appro的2a结构windows下dumpbin /exports libxxx.alinux 下nm -g --defined-only libxxx.a下面是appro算法库中的文件1、Appro_2a_lib.a[c
2016-01-25 14:25:49
327
转载 C++中的单例模式
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做
2016-01-25 11:45:19
255
转载 机器学习与数据挖掘网上资源搜罗
前面我曾经发帖推荐过网上的一些做“图像处理和计算机视觉的”有料博客资源,原帖地址图像处理与机器视觉网络资源收罗——倾心大放送http://blog.youkuaiyun.com/baimafujinji/article/details/32332079做机器学习和数据挖掘方面的研究和开发,常会在线搜索一些资源,日积月累便挖出了一堆比较牛的博主,特别说明:做这个方向的
2016-01-10 18:58:34
335
转载 C/C++基本数据类型所占字节数
关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
2016-01-10 13:21:02
360
转载 C++的类型转换:static_cast、dynamic_cast、reinterpret_cast和const_cast
在C++中,存在类型转换,通常意味着存在缺陷(并非绝对)。所以,对于类型转换,有如下几个原则:(1)尽量避免类型转换,包括隐式的类型转换(2)如果需要类型转换,尽量使用显式的类型转换,在编译期间转换(3)避免使用reinterpret_cast和老式的强制类型转换操作符通常,隐式的类型转换会导致警告,需要重视这些警告,并使用显式的类型转换代替,例如static_cast代替一些算术
2016-01-10 13:14:05
285
转载 深入理解sizeof+C语言数据类型+内存补齐
第一个例子:01.char* ss = "0123456789";02.sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针03.sizeof(*ss) 结果 1 ===》*ss是第一个字符04. 05.char ss[] = "0123456789";06.sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+107.si
2016-01-10 13:07:17
341
转载 strcmp && strcpy && strlen && strcat 源码
strcmp函数简介 原型:extern int strcmp(const char *s1,const char * s2); 用法: #include string.h> 功能:比较字符串s1和s2。 一般形式:strcmp(字符串1,字符串2) 说明: 当s1s2时,返回值>0
2016-01-10 12:57:59
270
原创 shell里面,“%”、“#”
${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从右向左截取最后一个string后的字符串${varible%string*}从右向左截取第一个string后的字符串“*”只是一个通配符有时可以不要例子:$ MYVAR=foodfortho
2016-01-01 11:38:11
711
转载 C++中的函数对象(Function Object)
一个函数对象,即一个重载了括号操作符“()”的对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。举个最简单的例子:[cpp] view plaincopyclass FuncObjType { public: void operator() () { cout"Hello C++!" }
2015-12-31 11:35:07
8577
1
转载 多线程编程--5种方法实现线程同步
1:用Interlocked系列函数实现线程同步;2:用CRITICAL_SECTION及其系列函数实现线程同步;3:用RTL_SRWLOCK及其系列函数实现线程同步;4:用事件内核对象实现线程同步;5:用信号量内核对象实现线程同步;1:用Interlocked系列函数实现线程同步实例如下:[cpp] view plaincopy//旋转锁 #
2015-12-30 19:01:28
520
转载 C++处理JSON
一、简单介绍 JSON 的全称为:JavaScript Object Notation,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。二、第三方库 jsoncpp:它 是比较出名的 C++ JSON 解析库。地址:http://sourceforge.net/projects/jsoncpp三、使用方法
2015-12-23 11:36:36
700
转载 C++ #if #endif #define #ifdef #ifndef #if defined #if !defined详解
首先,让我们先从头文件开始,在很多头文件里,我们会看到这样的语句 #ifndef _MYHEADFILE_H #define _MYHEADFILE_H // .......语句...... #endif // _MYHEADFILE_H 为了避免同一个文件被include多次,我们常使用 #ifndef 进行判断,如果没有包含 _MYHEADFILE_H ,
2015-12-22 11:13:08
504
原创 C++ 定义适应不同平台调用不同代码的方法
一般是在编译时指定,比如你在windows编译,就指定__WINDOWS__宏,所有和windows有关的代码都被这个宏包围,于是就会被编译,而由于__LINUX__没有定义,所以linux相关的代码不会被编译。#if defined(__WINDOWS__)// windows specific code#elif defined(__LINUX__)
2015-12-22 10:36:07
692
原创 类的static成员函数和const成员函数
static成员的特性 static成员函数没有this指针。 static成员函数不能被声明为const。 static成员函数也不能被声明为虚函数。 static成员函数可以直接访问所属类的static成员,但不能直接使用非static成员。 static数据成员的类型,可以是该成员所属的类类型。非static成员被限定声明为其自身类对象的指
2015-12-18 20:33:47
431
转载 strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
2015-12-14 17:58:39
232
转载 std::map::erase的用法及陷阱
方法一:[cpp] view plaincopystd::map mapTest; bool TestVal(const std::string & val); ...... std::map::iterator it = mapTest.begin(); while(it != mapTest.end())
2015-12-14 14:00:46
9984
1
转载 C++中 vector、list、deque、set、map的底层实现
stl容器区别: vector list deque set map-底层实现
2015-12-14 13:57:31
634
real time shadow
2018-04-06
real Time Collision Detection
2018-04-06
物理渲染 从理论到实现中文第二版
2018-04-06
Advanced Global Illumination完整版
2018-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人