数据结构
文章平均质量分 68
罗拙呓
简书博客地址:http://www.jianshu.com/u/14a4c5c3afc4
展开
-
数据结构之双向链表(JAVA实现)
最近重新复习了一些基础的数据结构,发觉自己好多已经淡忘了,索性重新捡起来以前的知识,今天笔者回顾了一下链表的知识,用JAVA实现了一个双向链表,下面来看代码:public class DoubleLinkedList { // 节点类Node private static class Node { Object value; No原创 2015-07-28 23:25:29 · 4390 阅读 · 0 评论 -
哈希表中线性探测再散列法及等概率条件下平均查找长度
最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。 下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题中一个考哈希表的题。 Question1: 将关键字序列(7、8、30、11、18、9、14)散列存储到转载 2015-09-17 16:26:45 · 3255 阅读 · 1 评论 -
海量数据处理专题(二)——Bloom Filter
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web crawler)。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了原创 2015-08-04 15:36:42 · 708 阅读 · 0 评论 -
AVL树——深入浅出,一目了然
以前总对AVL树有疑惑,到底什么时候左旋什么时候右旋,什么时候双旋,双旋和单旋的情况到底是什么样的呢?看完本篇博客,相信你也能够一目了然了。这里声明一下左旋为:逆进针旋转。右旋为:顺进针旋转。原创 2015-08-05 23:37:44 · 1140 阅读 · 0 评论 -
如何处理海量数据(长文)
在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至 过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处理时, 前面还能正转载 2015-08-03 21:27:12 · 3719 阅读 · 0 评论 -
海量数据处理
海量数据处理http://blog.csdn.net/v_JULY_v/article/category/1106578http://blog.csdn.net/v_july_v/article/details/7382693#http://blog.csdn.net/v_july_v/article/details/6685962处理海量数据时候常用的方法,因为在处理海量数据的时候最大的难点就是无转载 2015-08-03 21:31:24 · 429 阅读 · 0 评论 -
C++堆和栈的区别
堆和栈究竟有什么区别? 主要的区别由以下几点: 1. 管理方式不同 2. 空间大小不同; 3. 能否产生碎片不同; 4. 生长方向不同; 5. 分配方式不同; 6. 分配效率不同;管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。 空间大小:一般来讲在32位系统下,堆内存可以达到4G的空间,转载 2015-07-29 10:56:19 · 482 阅读 · 0 评论 -
各排序算法的时间空间复杂度
欢迎转载,请附出处: http://blog.csdn.net/as02446418/article/details/47008171最近在复习时经常看到问排序算法的时间空间复杂度,索性找了一个比较完整的。 如下图所示:原创 2015-07-22 19:19:53 · 1031 阅读 · 0 评论 -
递归函数时间复杂度分析
(1) 递归执行过程 例子:求N!。 这是一个简单的”累乘”问题,用递归算法也能解决。 n! = n * (n - 1)! n > 1 0! = 1, 1! = 1 n = 0,1 因此,递归算法如下: Java代码 fact(int n) { if(n == 0 || n == 1) re转载 2015-08-09 19:53:04 · 1245 阅读 · 1 评论 -
KMP算法之Next和Nextval详解
KMP算法是模式匹配专用算法它是在已知模式串的next或nextval数组的基础上执行的。如果不知道它们二者之一,就没法使用KMP算法,因此我们需要计算它们。 KMP算法由两部分组成: 第一部分,计算模式串的next或nextval数组。 第二部分,利用计算好的模式串的nextval数组,进行模式匹配。 KMP算法中有next数组和nextval数组之分。 他们代表的意义和作用完全一原创 2015-07-28 09:49:49 · 10531 阅读 · 1 评论 -
从中序表达式到逆序表达式(逆波兰式)(四则运算表达式求值)
将运算对象写在前面,而把运算符号写在后面。用这种表示法表示的表达式也称做后缀式。逆波兰式的特点在于运算对象顺序不变,运算符号位置反映运算顺序。采用逆波兰式可以很好的表示简单算术表达式,其优点在于易于计算机处理表达式。(逆波兰式不需要使用括号) 本份代码出自:http://wenku.baidu.com/view/23a5b73031126edb6f1a10aa.html 本份代码需要两个栈。一个原创 2015-09-22 17:28:02 · 2160 阅读 · 0 评论