摘要: #include <stdio.h>#include <string.h>//pInputStr中是原来待处理的字符串,m是其大小//pOutputStr是删除重复后的字符串,其大小用n返回void RemoveRepeatChar(const char* pInputStr, int m,char* pOutputStr, int* n){ int k = 0; //开始时,pOutputStr是空的,所以赋值0 //遍历pInputStr中的字符 for( int i = 0; i < m; i++) { char Test_char = pInputStr[ 阅读全文
posted @ 2012-09-12 12:08 DylanTsou 阅读(4918) 评论(0) 推荐(0) 编辑
摘要: 基于haar特征的Adaboost人脸检测技术本文主要是对使用haar+Adabbost进行人脸检测的一些原理进行说明,主要是快找工作了,督促自己复习下~~一、AdaBoost算法原理 AdaBoost算法是一种迭代的算法,对于一组训练集,通过改变其中每个样本的分布概率,而得到不同的训练集Si,对于每一个Si进行训练从而得到一个弱分类器Hi,再将这些若分类器根据不同的权值组合起来,就得到了强分类器。 第一次的时候,每个样本都是均匀分布,通过训练得到分类器H0,在该训练集中,分类正确的,就降低其分布概率;分类错误的,就提高其分布概率,这样得到的新的训练集S1就主要是针对不太好分类的样本了。再.. 阅读全文
posted @ 2012-08-11 13:50 DylanTsou 阅读(31389) 评论(0) 推荐(2) 编辑
摘要: 序言 最近在网上看到了几篇篇讲述内存池技术的文章,有一篇是有IBM中国研发中心的人写的,写的不错~~文章地址在本篇blog最后。原文的讲述比我的要清晰很多,我在这只是把我的一些理解和遇到的一些问题和大家分享一下~~一、为什么要使用内存池技术呢 主要有两个原因:1、减少new、delete次数,减少运行时间;2、避免内存碎片。 1、效率 c语言中使用malloc/free来分配内存,c++中使用new/delete来分配内存,他们的内存申请与释放都是与操作系统进行交互的。具体的内容在严蔚敏数据结构的第八章有相关讲述,主要就是系统要维护一个内存链表,当有一个内存申请过来时,根据相应的分配算... 阅读全文
posted @ 2012-05-13 21:05 DylanTsou 阅读(14757) 评论(2) 推荐(3) 编辑
摘要: 给定一个整数数组,将数组中小于零的数都放在最左边,等于0的放在中间,小于零的放在最右边。代码如下:void swap(int* a,int* b){ *a = *a ^ *b; //a、b中不同位 *b = *a ^ *b; //b = a *a = *a ^ *b; //a = b}void ArrangArray(int* StartPos,int* EndPos){ //Step1先将小于零的放在最左边,大于等于0的数不区分,都放在右边 int* low = StartPos; int* high = EndPos; while(low < high) { while( *low 阅读全文
posted @ 2012-05-13 18:14 DylanTsou 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 微软的面试,没能参加啊,只好打听了下题目,其中一题是在20分钟内写出:计算两个日期之间天数的方法。昨天晚上想了一下,今天实现了一下,经过调试,差不多一个小时才弄好,惭愧啊代码如下:/******************************************************************** file name: CountDays file ext: cpp author: zoudh created: 2012/04/18 purpose: 计算两个日期之间的天数************************************************... 阅读全文
posted @ 2012-05-13 18:12 DylanTsou 阅读(587) 评论(0) 推荐(0) 编辑
摘要: *题目描述:请编写一个函数,求n个字符串的最长公共子串,n<20,字符长度不超过255. 例如有三个字符串为: what is local bus? Name some local bus. local bus is high speed I/O bus close to the processor. 则最长的公共子串为“local bus”。*要求实现的函数:char* findSameSubStr(const char* pIn[],int n) 【输入】pIn:输入的字符串 n :输入的字符串个数,即数组中元素个数 【返回】动态分配的最长... 阅读全文
posted @ 2012-05-13 18:07 DylanTsou 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 比较排序算法,就是通过对不同元素的直接比较,确定大小关系,进而将一组数据排序的方法。这种比较可以是相邻元素间的,也可是是不同元素间的。我们通常遇到的如快速排序算法、堆排序算法、冒泡排序等,都是比较排序算法。 下面我将对常见的这几种比较排序算法的算法思想进行简单介绍,并附上实现代码。 一、选择排序算法 遍历一遍数组,选择其中国最小的元素,放在数组的最左边;在剩下的元素中,继续寻找最小的元素,直到剩余元素为零。选择排序算法的稳定性比较特殊,如果待交换位置与遍历方向相一致,则稳定;如果不相一致,则不稳定。例如:待交换的元素放到最左边,你从右向左遍历选择,相同元素m1、m2,会将m2交换到m1前... 阅读全文
posted @ 2012-05-13 18:04 DylanTsou 阅读(367) 评论(0) 推荐(0) 编辑