自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

站在理想与平凡的路口

Android菜鸟成长记

  • 博客(60)
  • 资源 (11)
  • 收藏
  • 关注

原创 HashMap解析

先看一下实例HashMap<String, Integer> map = new HashMap<String, Integer>();map.put("语文", 1);map.put("数学", 2);map.put("英语", 3);map.put("历史", 4);map.put("政治", 5);map.put("地理", 6);map.put("生物", 7);map.pu

2017-10-16 11:25:02 847

原创 Java的fail-fast机制

fail-fast机制“快速失败”也就是fail-fast,它是Java集合中的一种错误检测机制。 某个线程在对collection进行迭代时,不允许其他线程对该collection进行结构上的修改。 例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容),那么这个时候程序就

2017-10-12 16:21:40 288

原创 Java 内部类

Java内部类有以下几种:成员内部类最普通的内部类,位于另一个类的内部,可以理解为类的成员。编译的时候,会默认给成员内部类的构造方法传入外部类的对象引用。所以成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)当成员内部类含有和外部类相同的成员变量或方法时,会发生隐藏现象,默认情况下会访问成员内部类的方法和变量。如果要访问外部类的同名成员,可以用如下方式:外部类

2017-10-11 14:38:46 235

转载 Java中为什么float型最大值大于long型?

最为一个常识,我们都知道浮点型在内存中占用的是4个字节的空间,而long型占用的是8个字节的空间。可是为什么4个字节的float型的最大值会大于long型的最大值呢?我们都知道,float类型的范围是:-3.403E38~3.403E38。而long类型的范围是:-2^63~2^63-1(大概是9*10^18)。 我以前也是简单的记住就算完事了,对于它为什么会这样却没有考虑过。下面给大家分享一下我

2017-10-10 17:30:25 1166

原创 C++ 中构造函数与析构函数的执行顺序

今天在测试一个构造函数和析构函数的用例的时候,发现我们所钟爱的VC6.0实在是Bug问题越来越多,对于学习C++的新手来讲,有必要在这里给大家说明一下。构造函数顺序为: 全局对象的构造函数; main函数中对象的构造函数,包括automatic、static依次调用; main中遇到函数中有局部对象时,进入到函数中调用局部对象的构造函数。     注:static对象的构造函数

2013-12-24 22:16:03 645

原创 面试题

1、#include class Test{public: int print() { printf("print null\n"); return 0; } int set(int n) { m_val = n; int *ptr = new int; printf("%d\n ",m_val); return m_val; }private:

2013-10-09 21:56:28 504

转载 走台阶问题

问题刚才在首页看到一篇博客,说的是腾讯的一道面试题:一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?博主把这题分析的很麻烦。引来很多人围观。我以前也碰到过这个问题。写出来和大家分享一下。举个例子,假设有3个台阶,则有三种走法:分别是,1-1-1, 1-2, 2-1。分析很简单的一道题,学过组合数学的人很快就能想到,这是一

2013-10-08 11:27:51 715

原创 求出数组中满足给定和的所有元素组合

题目描述给定一个含有n个元素的整形数组a,再给定一个和sum,求出数组中满足给定和的所有元素组合,举个例子,设有数组a[6] = { 1, 2, 3, 4, 5, 6 },sum = 10,则满足和为10的所有组合是{1, 2, 3, 4}{1, 3, 6}{1, 4, 5}{2, 3, 5}{4, 6}注意,这是个n选m的问题,并不是两两组合问题。

2013-10-08 11:20:01 2018

转载 extern “C”总结

经常看到如下代码:#ifdef _cplusplusextern "C" {#endif#include "XXX.h"#ifdef _cplusplus}#endif解释:这段代码的含义是,如果当前的程序是C++程序,那么下面引用的头文件是C文件, 那如果当前程序不是C++呢?难道包含的就不是C文件了么?当然不是,不管当

2013-10-08 10:01:23 551

转载 KMP字符串模式匹配详解

KMP字符串模式匹配详解来自CSDN     A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.  简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int

2013-10-08 09:26:36 571

原创 数组面试题

1、给定一个n个整型元素的数组a,其中有一个元素出现次数超过n / 2,求这个元素设置一个当前值和当前值的计数器,初始化当前值为数组首元素,计数器值为1,然后从第二个元素开始遍历整个数组,对于每个被遍历到的值a[i]1 如果a[i]==currentValue,则计数器值加12 如果a[i] !=currentValue,则计数器值减1,如果计数器值小于0,则更新当前值为a[i],并将

2013-10-06 22:38:50 1007

转载 字符串面试题

普通逆序基本上没有这么考的,放在这里主要是为了和后面的原地逆序做个对比。很简单,直接分配一个与原字符串等长的字符数组,然后反向拷贝一下即可。char* Reverse(char* s){ //将q指向字符串最后一个字符 char* q = s ; while( *q++ ) ; q -= 2 ; //分配空间,存储逆序后的字符串。

2013-10-06 16:03:58 735

原创 构造函数定义为private,protected

将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决?关于构造,析构函数声明为私有和保护时的用法???从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,子类的“内部”的其他函数可以调用之。而对于private的函数,只

2013-10-02 11:23:51 690

原创 尽量使用初始化而不要在构造函数里赋值

看这样一个模板,它生成的类使得一个名字和一个t类型的对象的指针关联起来。templateclass namedptr {public:  namedptr(const string& initname, t *initptr);  ...private:  string name;  t *ptr;};(因为有指针成员的对象在进行拷贝和赋值操作时可能会引起指

2013-09-27 09:42:57 748

原创 NULL指针,空指针,野指针

1. 空指针、NULL指针、零指针1.1什么是空指针常量0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪种形式作为空指针常量使用,则是实现相

2013-09-23 10:41:56 959

原创 文件中有一组整数,要求排序后输出到另一个文件中

文件中有一组整数,要求排序后输出到另一个文件中(面试官,超级喜欢考排序的。你要去面试,数据结构的那几个排序一定要非常熟悉,用笔也可以写出代码来,用笔写代码,就是这样变态啊,其实感觉没有必要这样笔试)#include#includeusingnamespace std;void Order(vector& data)//bubble sort{ int count =

2013-09-16 14:56:55 1459

原创 在C++程序中调用被C 编译器编译后的函数,为什么要加 extern "C"

首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数

2013-09-16 10:06:26 646

原创 两有序链表合并排序

1、已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)Node * Merge(Node *head1 , Node *head2){ if ( head1 == NULL) return head2 ; if ( head2 == NULL) return head1 ;

2013-09-16 09:06:43 812

原创 写一个函数找出一个整数数组中,第二大的数(microsoft)

写一个函数找出一个整数数组中,第二大的数(microsoft)答案:const int MINNUMBER =-32767 ;int find_sec_max( int data[] , int count){ int maxnumber = data[0] ; int sec_max = MINNUMBER ; for ( int i =1 ; i < c

2013-09-15 22:39:11 811

转载 KMP字符串模式匹配详解

KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.  简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S

2013-09-15 22:30:08 535

转载 目标检测的图像特征提取之(三)Haar特征

目标检测的图像特征提取之(三)Haar特征1、Haar-like特征       Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和

2013-09-11 21:23:58 507

转载 目标检测的图像特征提取之(一)HOG特征

目标检测的图像特征提取之(一)HOG特征1、HOG特征:       方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提

2013-09-11 21:20:44 652

转载 C++ 虚函数表解析

C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,

2013-09-05 22:45:27 454

转载 C++中设计一个类,使其不能被继承

java中有一种类不能被继承,那就是final类.而C++中没有final类。      C++要实现一个不能被继承的类有很多方法. 主要的思路就是使子类不能构造父类的部分,这样子类就没有办法实例化整个子类.这样就限制了子类的继承. 所以我们可以将父类的构造函数声明成为私有的,但是这样父类不就不能实例化,继续思考、、、   我们可以利用友员不能被继承的特性!   首先假设CPare

2013-09-03 17:03:40 592

原创 变量的声明与定义“extern”

如果你的变量在一个文件A中,而你想在另一个文件B中使用它,就需要在使用前在B中声明这个变量,这时候需要用到extern关键字。extern用在变量声明中常常有这样一个作用,你在*.c文件中定义了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。extern int a;  //声明一个全局变量aint a;    //定义一个全局变量aext

2013-09-01 15:06:34 852

转载 C语言的编译链接过程的介绍

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下:  从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链

2013-08-31 20:12:18 489

原创 引用作为函数返回值

“引用作为函数参数”与 “引用作为函数返回值”一、引用作为函数参数作为函数参数时引用有两种原因:1、在函数内部会对此参数进行修改2、提高函数调用和运行效率 关于第一点,都知道C++里提到函数就会提到形参和实参。如果函数的参数实质就是形参,不过这个形参的作用域只是在函数体内部,也就是说实参和形参是两个不同的东西,要想形参代替实参,肯定有一个值的传递。函

2013-08-28 10:23:01 522

原创 Sizeof与Strlen的区别与联系

一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所

2013-08-28 09:27:42 407

原创 char* a和 char a[]的区别

char *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是执行数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:结果:对比:结果:把字符串加到指针所指的字串上去,出现段错误,本质原因:*d="0123456789"存放在常

2013-08-27 21:47:52 561

原创 C++中string 结束判断

程序设计中遇到,需要输入一串string字符串,需要回车后输出结果(或者说进行下一步操作),如何判断结束? 关键在于,string串没有'\0'作为字符串结束标志解决方案:适用string库的成员函数完成相应功能,如求string串长度,有:string a;cin >> a;cout 这也从一定程度上体现了string与ch

2013-08-25 16:51:24 6038

转载 float ,double类型在内存中存储方式

C/C++的浮点数据类型有float和double两种。 类型float大小为4字节,即32位,内存中的存储方式如下:符号位(1 bit)  指数(8 bit)  尾数(23 bit) 类型double大小为8字节,即64位,内存布局如下:符号位(1 bit)  指数(11 bit)  尾数(52 bit)        符号位决定浮点数的正

2013-08-21 10:17:17 885

转载 C++中的this指针

一个对象的成员函数其实就是一般的全局函数,只是编译器给它隐含加了一个指向该对象的const指针,这就是this指针。下面让我们一起来了解一下this指针吧!this 指针是一个隐含于每一个类的成员函数中的特殊指针(包括析构函数和构造函数),它用于指向正在被成员函数操作的对象。不过,在一般的程序设计中不直接用它的,this是一个指针变量,因此在成员函数中,可以使用*t

2013-08-14 21:08:33 473

转载 DeepLearning(深度学习)原理与实现(一)

本文转自:http://blog.csdn.net/cuoqu/article/details/8886971经过三年的狂刷理论,觉得是时候停下来做些有用的东西了,因此决定开博把他们写下来,一是为了整理学过的理论,二是监督自己并和大家分享。先从DeepLearning谈起吧,因为这个有一定的实用性(大家口头传的“和钱靠的很近”),国内各个大牛也都谈了不少,我尽量从其他方面解释一下。

2013-08-11 21:24:06 619

转载 深度学习(Deep Learning)算法简介

查看最新论文Yoshua Bengio, Learning Deep Architectures for AI, Foundations and Trends in Machine Learning, 2(1), 2009 深度(Depth)从一个输入中产生一个输出所涉及的计算可以通过一个流向图(flow graph)来表示:流向图是一种能够表示计算的图,在这种

2013-08-11 21:14:15 763

转载 计算机视觉数据库

机器视觉中常用的数据测试集计算机视觉数据集WallFlower dataset: 用于评价背景建模算法的好坏. Ground-truth foreground provided. Foreground/Background segmentation and Stereo dataset: from Microsoft Cambridge. VISOR: Video Survei

2013-06-30 22:19:43 1227

转载 Matlab与C/C++混合编程调用OpenCV

好久没写博客了,今天一个师兄问到了一个关于在Matlab与C/C++混合编程时,使用OpenCV库的编译问题,所以借此机会总结成文字分享一下过程。      在使用Matlab编译包含OpenCV库的代码之前,首先假设下面的几项工作已经完成。      1)下载并解压某个版本的OpenCV至硬盘的某个目录上,并将其运行时库添加到环境变量中。      2)安装了

2013-06-25 21:18:40 741

转载 JDK、JRE、JVM之间的关系

JDK、JRE、JVM之间的关系如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre ,另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:\Program Files\Ja

2013-06-25 18:37:52 490

转载 OpenCV参考手册之Mat类详解2

Mat::~MatMat的析构函数。C++: Mat::~Mat()析构函数调用Mat::release()。Mat::operator =提供矩阵赋值操作。C++: Mat& Mat::operator=(const Mat& m)C++: Mat& Mat::operator=(const MatExpr_Base& expr)C

2013-06-08 16:05:51 484

转载 OpenCV参考手册之Mat类详解1

类 Mat导言OpenCV c + + n 维稠密数组类类 CV_EXPORTS Mat{public:/ / … …很多的方法....../*!包括几位字段:-神奇的签名-连续性标志-深度(Note:应该是位深)-通道数*/int flags;(Note :目前还不知道flags做什么用的)

2013-06-08 16:03:44 684

原创 通俗讲解模拟退火算法

一. 爬山算法 ( Hill Climbing )      介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。      爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A

2013-05-19 15:21:16 923

meanshift目标跟踪源码opencv

基于meanshift利用opencv实现的目标跟踪,里面含有代码,vs2010先可完美运行

2013-03-04

camshift实现源码

camshift实现源码及详解,基于opencv,vs2010开发环境,完美运行

2013-03-04

SURF源码及解析

SURF代码,基于opencv,vs2010开发环境,可完美运行

2013-03-04

SIFT算法实现及代码详解

需要安装opencv1.0和opencv2.1以上版本,及gsl。压缩包里给出了Rob Hess所实现的SIFT算法的实现以及注释。这是一个很强大的算法,主要用于图像配准和物体识别等领域,但是其计算量相比也比较大,性价比比较高的算法包括PCA-SIFT和SURF

2013-03-04

Tsai两步法摄像机标定的Matlab实现

含有完整的Tsai两步法的Matlab代码,以及一些解释,非常易懂。

2012-06-24

张正友标定法Matlab的实现

含有张正友标定法的完整的Matlab代码,以及一些解释。

2012-06-24

win7 便签小工具,可发声

非常帅的win7小便签,比系统自带的好一千倍,而且可以发声。

2011-04-18

MP3剪切工具,可以用来制作铃声

歌曲剪切工具,可以用来制作自己喜欢的铃声,非常实用。还可以用来优化MP3效果。

2010-12-19

可更换皮肤的桌面课表(支持xp,win7)

这款桌面课表可以设定自己喜欢的皮肤,,并且含有注册码(破解版),支持xp,win7系统。

2010-12-19

win7多皮肤天气预报小工具

win7天气预报小工具,可以更换多种皮肤,非常好用,比win7自带的好很多。

2010-12-19

空空如也

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

TA关注的人

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