随笔分类 - 数据结构及算法
摘要:在分布式系统设计领域,Paxos可谓是最重要一致性的算法。Google的大牛们称 All working protocols for asynchronous consensus we have so far encountered have Paxos at their core. 可见此算法的地
阅读全文
摘要:void preOrder2(BinTree *root) //非递归前序遍历 { stack<BinTree*> s; BinTree *p=root; while(p!=NULL||!s.empty()) { while(p!=NULL) { cout<<p->data<<" "; s.push
阅读全文
摘要:关于JVM 的垃圾回收机制,我们一般都没过多深入,因为JAVA 和 C++ 的一个很大区别就是,JAVA 帮我们做了垃圾回收,而不用像C++ 那么样手动进行回收,当然任何自动的东西都存在一定弊端,比如机器人,即使自动程度很高,但是在处理某些感情问题上,肯定处理上就会有遗漏,开个玩笑啦, 下面我们先来
阅读全文
摘要:目录[-] 一:Solr 二:Solandra 三:SolrCloud 四:Solr+Katta 五(终篇):Elasticsearch 一:Solr 二:Solandra 三:SolrCloud 四:Solr+Katta 五(终篇):Elasticsearch 一:Solr 我第一个了解到的分布式
阅读全文
摘要:1.开放地址法 2.线性探测法 3.链地址法(拉链法) 4.二次探测法 5.伪随机探测法 6.再散列(双重散列,多重散列) 7.建立一个公共溢出区 单旋转法是建立散列函数的一种方法, ,将最后一位数,旋转放置到第一位 常见的散列函数有,直接定址法,数字分析法,平法取中法,取余法,折叠法,随机法
阅读全文
摘要:这个算法以前在网络游戏开发时服务端常用,需要有一些前提条件。假设你的并发请求每秒钟少于一万(当然这还取决于你的服务器性能,如果你的服务器性能(含数据库)每秒可以处理的多,那么这个值就会高),并且假设高峰期请求不超过几万,也就是这几万之后再也不会有那么多请求了。这个时候你可以用内存队列,而不是用消息队
阅读全文
摘要:分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 先来看看8种排序之间的关系: 1.直
阅读全文
摘要:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:廖俊杰链接:https://www.zhihu.com/question/36134980/answer/66080662来源:知乎 来一个离题的开头heap和tree结合,生了个孩子叫treap中文名叫树堆。首先它每个节点有
阅读全文
摘要:一、概述 本文将讲述Bit-Map算法的相关原理,Bit-Map算法的一些利用场景,例如BitMap解决海量数据寻找重复、判断个别元素是否在海量数据当中等问题.最后说说BitMap的特点已经在各个场景的使用性。 二、Bit-Map算法 先看看这样的一个场景:给一台普通PC,2G内存,要求处理一个包含
阅读全文
摘要:倒排索引(Inverted Index):倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。 单词词典(Lexicon):搜索引擎的通常索引单位是单词,单词词典是由文档集合中出现过的所
阅读全文
摘要:B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点
阅读全文
摘要:首先附上本文节选地址:http://www.cnblogs.com/huangxincheng/archive/2012/07/22/2603956.html 二叉查找树不是严格的O(logN),导致了在真实场景中没有用武之地,谁也不愿意有O(N)的情况发生,作为一名码农,肯定会希望能把“范围...
阅读全文