- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 倒排索引C++实现
倒排索引原理:根据属性的值来查找记录位置。假设有3篇文章,file1, file2, file3,文件内容如下:file1 (单词1,单词2,单词3,单词4....)file2 (单词a,单词b,单词c,单词d....) file3 (单词1,单词a,单词3,单词d....)那么建立的倒排索引就是这个样子:单词1 (file1,file3) 单词2 (fi
2016-05-10 14:24:50 5894 3
原创 C++常用函数
一. 使用strtok函数分割原型:char *strtok(char *s, char *delim); strtok在s中查找包含在delim中的字符并用NULL(‘\0’)来替换,直到找遍整个字符串。 功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 说明:首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 strto
2016-05-10 11:25:15 1025
原创 一致性哈希算法与C++实现
一. 算法解决问题 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平
2016-05-09 14:16:00 11554
原创 C++泛型编程
泛型编程(Generic Programming)是一种语言机制,通过它可以实现一个标准的容器库。它以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。(1)定义函数模板(function template)函数模板是一个独立于类型的函数,可以产生函数的特定类型版本。template <typename T>int compare(const T &v1, const T &v2){
2016-05-05 15:25:51 515
原创 LRU Cache
分析:为了保持cache的性能,使查找,插入,删除都有较高的性能,我们使用双向链表(std::list)和哈希表(std::unordered_map)作为cache的数据结构,因为: ● 双向链表插入删除效率高(单向链表插入和删除时,还要查找节点的前节点) ● 哈希表保存每个节点的地址,可以基本保证在O(1)时间内查找节点unordered_map容器比map容器更快地通过键值访问他们的单个元
2016-05-04 11:15:49 455
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人