- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 PV读者写者问题
semaphore mutex = 1;semaphore db = 1;int readercount = 0;void Reader(){ while(true) { P(mutex); readercount ++; if(readercount == 1) P(db); V(mutex); //读数据 P(mutex); //读完
2014-08-30 16:40:11 741
原创 PV生产者消费者问题
#define N 100typedef semaphore int;semaphore muxtex = 1; //临界区锁,用于防止生产者消费者同时访问临界资源 semaphore full = 0; //有面包的格子数 semaphore empty = N; //没面包的格子数 void consumer(void){ int item; while
2014-08-27 15:31:13 1737
原创 位运算笔记
2.5 亿个数的去重在 2.5 亿个整数中找出不重复的整数,注,内存不足以容纳这 2.5 亿个整数分析:采用 2-Bitmap(每个数分配 2bit,00 表示不存在,01 表示出现一次,10 表示多次,11 无意义)进行,共需内存 2^32 * 2 bit=1 GB 内存,还可以接受。然后扫描这 2.5 亿个整数,查看 Bitmap 中相对应位,如果是 00 变 01,01
2014-08-22 16:40:11 536
原创 hash相对B树优缺点
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树的操
2014-08-22 13:33:04 3391
原创 trie树 HDU1671
#include using namespace std;struct trie{ trie():end(false) { for(int i =0; i < 10; ++i) next[i] = NULL; } bool end; trie *next[10];};void insert(trie *root, const char *a){ trie *p
2014-08-21 15:33:14 358
原创 trie树 hdu1251
#include using namespace std;struct trie{ trie():occur(0){ for(int i = 0; i < 26; ++i) next[i] = NULL; } trie *next[26]; int occur;};trie *root = new trie;void insert(char *a){ int
2014-08-21 10:13:44 432
转载 Hash和Bloom Filter
本文转载自:http://www.sigma.me/2011/09/13/hash-and-bloom-filter.html这几天的“科研”中涉及到了一个概念,Bloom Filter(有的中文翻译为布隆过滤器,不知道正确否),今天看了下相关的资料,发现这东西和Hash还挺有关系的,在这里一并讲下。Hash(函数/表)Hash (中译为哈希,或者散列)函数在计算机领域,尤
2014-08-19 17:07:11 1528
原创 不相交集 POJ1182 食物链
#include using namespace std;struct node{ int father; int relation;};node p[50010];void make_set(int val){ p[val].father = val; p[val].relation = 0;}void init(){ for(int i = 0; i <
2014-08-15 08:53:17 366
转载 GBDT(MART) 迭代决策树入门教程 | 简介
在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下: GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(g
2014-08-10 15:45:32 425
转载 ID3&C4.5的区别
ID3算法是决策树的一个经典的构造算法,在一段时期内曾是同类研究工作的比较对象,但通过近些年国内外学者的研究,ID3算法也暴露出一些问题,具体如下: (1)信息增益的计算依赖于特征数目较多的特征,而属性取值最多的属性并不一定最优。 (2)ID3是非递增算法。 (3)ID3是单变量决策树(在分枝节点上只考虑单个属性),许多复杂概念的表达困难,属性相互关系强调
2014-08-10 15:41:51 848
转载 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
原文地址:http://blog.csdn.net/harryhuang1990/article/details/9924377最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的
2014-08-08 19:44:26 655
转载 C++中的static关键字
本文转自:http://blog.csdn.net/hackbuteer1/article/details/7487694C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该
2014-08-08 16:50:53 285
转载 常见面试之机器学习算法思想简单梳理
转自:http://www.chinakdd.com/article-oyU85v018dQL0Iu.html前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着
2014-08-07 14:18:43 450
原创 AdaBoost 学习笔记
AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,是一种机器学习方法,由Yoav Freund和Robert Schapire提出。[1]AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象。
2014-08-05 20:59:17 988
原创 TF-IDF简单学习与总结
TFIDF算法是建立在这样一个假设之上的:对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语
2014-08-03 10:14:40 2868
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人