摘要: 作者:July、youwang、yanxionglu。 时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题 1、海量日志数据,提取 阅读全文
posted @ 2018-09-27 23:16 cs_wu 阅读(316) 评论(0) 推荐(0) 编辑
摘要: B+树是一个平衡的多叉树。B+树从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动。 哈希索引采用一定的哈希算法,把键值换成新的哈希值,检索时不需要类似B+树那样从根节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置。 两者的区别: 1.hash索引仅满足“=”、“IN”和“<=>”查询,不 阅读全文
posted @ 2018-09-27 16:19 cs_wu 阅读(1444) 评论(0) 推荐(0) 编辑
摘要: 运行结果:从输出结果我们可以知道,对象地址是一样的,即这都是同一个对象 上述实现通过返回一个引用实现单例模式。如果返回的是指针而不是引用,用户可能会不小心删除此指针,因此上述实现比返回指针更安全。 问:在上面我们把拷贝构造函数和赋值操作符都声明为私有,为什么要声明为私有?仅仅把构造函数声明为私有不久 阅读全文
posted @ 2018-09-24 23:44 cs_wu 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 目录 1.迭代器的使用 为了提高C++编程的效率,STL中提供了许多容器,包括vector、list、map、set等。有些容器例如vector可以通过脚标索引的方式访问容器里面的数据,但是大部分的容器不能使用这种方式,例如list、map、set。STL中每种容器在实现的时候设计了一个内嵌的ite 阅读全文
posted @ 2018-09-24 22:44 cs_wu 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: C++中静态成员变量要在类外部再定义或初始化,否则会产生错误。 为什么要在类的外部进行定义的原因: 1. 在类中,只是声明了静态变量,并没有定义。 2. 声明只是表明了变量的数据类型和属性,并不分配内存;定义则是需要分配内存的。 注意:如果在类里面这么写int a; 那么是既声明了变量,也定义了变量 阅读全文
posted @ 2018-09-24 16:04 cs_wu 阅读(5737) 评论(0) 推荐(1) 编辑
摘要: 算法特点: (1)是稳定排序 (2)可用于链式存储结构 (3)移动记录次数较多,算法平均性能比直接插入排序差。当初始记录无序,n较大时,此算法不宜采用。 阅读全文
posted @ 2018-09-22 16:16 cs_wu 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 算法分析 (1)时间复杂度 从时间来看,排序的基本操作为:比教两个关键字的大小移动记录。 阅读全文
posted @ 2018-09-22 16:09 cs_wu 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 算法分析: (1)时间复杂度 从时间上比较,折半查找比顺序查找快,所以就平均性能来说,折半插入排序优于直接插入排序。 折半插入排序所需要的关键字比较次数与待排序序列的初始排列无关,仅依赖于记录的个数。不论初始序列情况如何,在插入第i个记录时,需要经过logi+1(向下取整+1)次比较,才能确定它插入 阅读全文
posted @ 2018-09-22 15:56 cs_wu 阅读(2780) 评论(0) 推荐(0) 编辑
摘要: 快速排序具有最好的平均性能(average behavior),但最坏性能(worst case behavior)和插入排序 相同,也是O(n^2)。比如一个序列5,4,3,2,1,要排为1,2,3,4,5。按照快速排序方法,每次只会有一个数据进入正确顺序,不能把数据分成大小相当的两份,很明显,排 阅读全文
posted @ 2018-09-22 00:20 cs_wu 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 摘要:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 按照上面的说法,实现一个C 阅读全文
posted @ 2018-09-21 14:53 cs_wu 阅读(14290) 评论(1) 推荐(1) 编辑