- 博客(25)
- 收藏
- 关注
原创 C++多线程
VC 多线程编程一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDlg::OnSleepSixSecond()
2012-12-12 22:40:28
424
原创 Apriori算法
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。 该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步
2012-12-12 22:14:02
918
原创 贝叶斯分类
定义 贝叶斯分类算法是统计学分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、分类准确率高、速度快。由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。为此,就出现了
2012-12-12 22:11:10
854
原创 K-means算法
简介 K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。 k个初始类聚类中心点的选取对聚类结果具有较大的 公式影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一
2012-12-12 22:09:35
1858
原创 K-NN算法
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然
2012-12-12 22:07:01
10427
原创 函数返回值—返回局部变量
看看下面的程序的输出: #include char *returnStr() { char *p="hello world!"; return p; } int main() { char *str; str=returnStr(); printf("%s\n", str); retu
2012-11-28 22:38:53
587
原创 数字推理
第一步:整体观察,若有线性趋势则走思路A,若没有线性趋势或线性趋势不明显则走思路B。 注:线性趋势是指数列总体上往一个方向发展,即数值越来越大,或越来越小,且直观上数值的大小变化跟项数本身有直接关联(别觉得太玄乎,其实大家做过一些题后都能有这个直觉) 第二步思路A:分析趋势 1, 增幅(包括减幅)一般做加减。 基本方法是做差,但如果做差超过三级仍找不到规律,立即转换思路,因为公考没有考过
2012-11-27 20:25:19
623
原创 分类与聚类
首先分清聚类和分类的区别:分类——监督学习算法,需要给定训练数据聚类——无监督学习算法,无训练数据。聚类分为 层次方法和非层次方法:层次方法——最后形成一棵tree,每个node或者有k个分支,或者是叶子节点。( 过程似huffman tree)非层次方法——是一个迭代过程,直至满足某个阀值退出。(主要包括k-mean 和 EM算法)k-mean算法的步骤:(每个样
2012-11-27 16:52:37
542
转载 现有p2p协议分类与简介
(一) 常用p2p协议 1、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在千千万万的个人电脑上,搜索到的文件通过p2p方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年代,
2012-11-25 15:54:33
610
原创 线程同步
线程同步的方式和机制临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被
2012-11-24 16:06:50
252
原创 三十分钟掌握STL
这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离
2012-11-14 14:29:29
230
原创 字符串的全排列和组合算法
全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。一、字符串的排列用C++写一个函数, 如 Foo(const char *
2012-11-11 21:50:20
348
转载 防止头文件重复引用
//test.h #ifndef _TEST_H_INLCUDED #define _TEST_H_INLCUDED ... #endif 如果用vc: //test.h #progma once 在头文件(比如myhead.h)
2012-11-03 19:06:22
266
原创 青牛软件 笔试
昨晚考的青牛软件,考的题很细,多选题好多拿不准,记得其中一题是:# includeusing namespace std;class tiger{public:tiger(){cout}};class monkey{public :monkey(){cout}};class elephant{public:el
2012-11-01 09:37:32
2148
2
转载 最长公共子序列
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。【问题】 求两字符序列的最长公共字
2012-10-27 21:37:08
619
转载 进程和线程的联系和区别
定义:一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:(1)一个线程只能
2012-09-26 16:00:49
374
原创 中兴笔试+面试
中兴的校园招聘还是挺早的,九月底就完成全部面试,其他的一些大公司也只是刚开始举行宣讲会或者笔试。对中兴以前也不怎么了解,听说待遇不怎么好,事实也确实如此,只是怀着广撒网积累经验的目的报了网申。 九月十七号接到通知九月十八号在北科笔试。中兴的笔试个人感觉考得挺难得,涉及面挺广,硬件软件都有,数据结构、网络、数据库、C++、安卓开发 linux。多项选择有点难度,好多拿不准,四个问答题一
2012-09-23 15:19:58
3403
原创 (int&)a和(int)a的区别
float a = 1.0f;cout cout cout float b = 0.0f;cout cout cout 输出结果是: 1 1065353216 false 0 0 true 答:(1)
2012-09-21 10:17:47
435
转载 海量数据面试题
前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题
2012-09-14 09:20:30
654
转载 内存
内存是程序运行的基础。所有正在运行的代码都保存在内存里面。内存需要处理各种各样的数据,包括键盘的数据、鼠标的数据、usb的数据、串口的数据、摄像头的数据,那么这些数据经过程序的处理之后,就要进行输出到串口、屏幕、usb等。 内存只有一个,但是程序里面的空间有很多种。但是内存中的数据类型只有几种,比如说全局中的数据、堆中的数据、临时堆栈中的数据。那么他们有什么区别呢?我们可以通过代码发
2012-09-06 19:54:06
308
转载 Hash表
hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。 打个比方来说,所有的数据就好像许许多多的书本。如果这些书本是一本一本堆起来的,就好像链表或者线性表一样,整个数据会显
2012-09-06 17:45:47
259
原创 linux 中冒险位和强制位讲解
目录也是一种文件 []目录上的读写执行权限与普通文件有所不同:读:用户可以读取目录内的文件写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。执行:用户可以进入目录,调用目录内的资料*** 除了读写执行权限以外,ext2,ext3文件系统还支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限。 *** 针对u,g,
2012-07-17 10:01:32
1013
原创 Linux常用命令:cp,mv,rm
复制、移动和删除:cp, rm, mv要复制文件,请使用cp(copy)命令。不过,cp命令的用途很多。除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等。至于移动目录与文件,则使用mv(move),这个命令也可以直接用来重命名(rename)。删除使用rm(remove)命令。下面我们就来看一看。cp(复制文件或目录)
2012-07-15 10:10:55
7543
转载 浏览器出现stack overflow at line:0,解决方法
浏览器如果出现"stack overflow at line:0"并且有些图片无法显示的问题,是由于注册表被串改了这是由于pngfilt.dll问题,解决方法如下把以下内容保存到记事本,随便起个名字,并且把后缀改名为.reg,双击打开这个reg文件点“是”,添加入注册表中再重启浏览器,问题就解决了Windows Registry Editor Version 5.00;
2012-07-13 14:28:44
4405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人