自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

承续缘的信仰

Like C++ Algorithm

  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

原创 下水道井盖为什么是圆的?

下水道井盖为什么是圆的?当你被问到这个问题的时候你会如何回答?想象一下。 你可能会说圆的节省材料,是如何节省材料的? 这可能需要用一些数学知识来回答了,正方形或者长方形的内接圆是吧。 安全?方块的不安全吗?为什么不安全? 方块的可能会掉下去,稍微旋转一下即可。可是,一定会掉下去吗,工人都是吃干饭的吗?只要对工人加以培 训就不是那么容易掉下去了。恶作剧的孩子可能会把它弄下去,可是下水道井盖是很重

2013-07-10 18:25:08 2544

原创 超链分析和PageRank

自己整理的一些资料超链分析 超链分析的基本原理是:在某次搜索的所有结果中,被其他网页用超链指向得越多的网页,其价值就越高,就越应该在结果排序中排到前面。超链分析是一种引用投票机制,对于静态网页或者网站主页,它具有一定的合理性,因为这样的网页容易根据其在互联网上受到的评价产生不同的超链指向量,超链分析的结果可以反映网页的重要程度,从而给用户提供更重要、更有价值的搜索结果。 可是搜索引

2013-07-10 18:18:57 5995

原创 各种排序算法整理

性能很重要吗?当然。有比性能更重要的吗?Exp:正确性,安全性,简洁,可扩展,用户友好等等?可是为什么我们来说性能,因为性能是最重要的。好比钱不重要,但是没有钱你很多事做不了。性能就是如此,它是潜在的东西。你没有它,何谈正确、安全、用户友好。

2013-07-10 17:19:14 3647

原创 快速排序

快速排序 什么是快排? 由C. A. R. Hoare在1962年提出,它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 时间复杂度:平均:O(n*lgn) 最坏:O(n^2) 空间复杂度:平均O(lgn) 最坏O(n)需要一

2013-07-10 14:57:41 2318

原创 分治法

分治法 分治,分而治之也。将原问题划分成多个规模较小结构和原问题相似的子问题,分别递归解决这些子问题,然后将所有子问题的解合并即可得到原问题的解。 Divide:将原问题划分成一系列子问题 Conquer:分别递归解决子问题,如果子问题足够小,则可直接解决。 Combine:将子问题的结解合并一起成为原问题的解。 很多时候算法的设计都要靠分治策略。比如归并排序,也叫合并排序。

2013-07-10 14:19:51 1868

原创 位操作技巧和总结

位操作问题 先来看一个编美上面的一个题目:对于一个字节的变量,如何求得其二进制中“1”的个数,要求效率尽可能的高。二进制数有啥特征,无非是1、0;比如(10)10=(0000 1010)2  。除以2,就相当于右移一位,如果得到0,就表示那一位是0,如果得到1,就表示那一位是1.。看起来很简单的嘛,So easy啊。 编码实现:  int Count(char n)  {   in

2013-07-10 12:28:05 2055

原创 机器故障问题

机器故障 有很多的机器,每一个机器都有一个ID,每一个机器都有一个备份。如果某一天有一个机器死机了,你能找到她吗? 这个问题的意思也就是有一个ID的列表,其他的ID都出现2次,只有这个死机的ID出现一次。好比很多数中找出只出现一次的数。很简单吧。利用数组保存ID出现次数,遍历一次就找到了。时间复杂度O(n),空间复杂度也是O(n)。 可是如果ID数量多达几亿呢,你不是很拙计吗?哦,可是动态

2013-07-10 11:53:12 1638

原创 阶乘问题

阶乘问题 给你一个整数N,希望求得N!的末尾有几个0。10!=3628800,末尾有2个0. 如何解答?很简单嘛,求其阶乘,然后对10求模就可以了啊。是吗?如果是1000的阶乘呢?会不会溢出呢?这确实是一个问题,那如何解答呢?好好想一想。 末尾的0和谁有关系?当然是和10 。那10又和谁有关系?10=2*5 。而N!=1*2*3**N; 那么,两者有什么关系吗?当然。先对N进行质因数分

2013-07-10 11:47:44 1528

转载 改进的筛素数法

最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内的素数并保存到primes[]数组中。[cpp] view plaincopy//by MoreWindows( http://blog.csdn.net/MoreWindows )  const int

2013-07-09 18:43:57 912

原创 如何求500万以内的所有亲和数

求500万以内的所有亲和数 如果两个不同的数a和b,a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。例如220和284,1184和1210,2620和2924。编程实现。 想一想这个问题,首先你要弄清楚,什么是亲和数,什么是真因子。除了本身之外的都是所以因子都是真因子,包括1。那亲和数就好比这两个数所有真因子之和等于对方,这俩是一对,亲和数。 举例:220的真因子是

2013-07-09 11:16:22 2597

原创 最短摘要问题

最短摘要问题 Alibaba笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号;再给定N个英文单词关键字,请说明思路并编程实现方法              String extractSummary(String description,String[] keywords) 目标是找出此产品描述中包含N个关键字(每个关键词至少出现一次)的长度最短的子

2013-07-09 00:33:36 1751

原创 Find发帖水王哥

找到水王传说贴吧有一大“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的贴吧水王吗?这个问题的意思就是从一个有很多ID的列表中找到一个数目超过总数一半的ID。也就是数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。先来思

2013-07-08 15:59:04 1794

原创 算法简述

什么是数据结构?严格定义是:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。数据结构也就是类似表、树、图、集合,相互之间一种或多种特定关系的数据的集合。二元组(D,S)D代表数据集,S是D上的关系。有数据,有数据之间的关系,这就是数据结构。什么是数据类型?一个值的集合以及定义在这个值的集合上的一系列的操作。Int float 结构体,对

2013-07-03 16:03:40 1413

原创 协和谬误

我们把那些已经发生、不可收回的支出,如时间、金钱、精力称为“沉没成本”。沉没的意思是说,你在正式完成交易之前投入的成本,如果一旦交易不成,就会白白损失掉。但如果对沉没成本过分眷恋,就会继续原来的错误,造成更大的亏损。

2013-07-03 00:13:49 2688

原创 博弈论入门导论

策略形势:行为影响结果,然而结果不仅仅取决于你的行为,还有取决于其他人的行为。

2013-07-02 15:54:40 1620

原创 并查集

在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(

2013-04-11 14:14:52 1129

原创 腾讯笔试

基础 1、写一个C的函数,输入整数N,输出整数M,M满足:M是2的n次方,且是不大于N中最大的2的n次方。例如,输入4,5,6,7,都是输出4 。 2、C++中虚拟函数的实现机制。 3、写出选择排序的代码及快速排序的算法。 4、你认为什么排序算法最好? 5、tcp/ip的那几层协议,IP是否是可靠的?为什么? 6、进程和线程的区别和联系,什么情况下用多线程,什么时候用多

2013-04-11 12:35:53 1875

转载 程序员编程艺术第一章、左旋转字符串

第一章、左旋转字符串作者:July,yansha。时间:二零一一年四月十四日。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。-------------------------------------------目录序前言第一节、左旋转字符串第二

2013-04-07 22:57:48 1456

转载 c++面试题

1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)子类覆盖它的函数不加virtual

2013-04-02 13:25:29 1032

原创 链表交叉

一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两条这样单链表,判断里面是否存在同样的url。url以亿级计,资源不足以hash。如果交叉则最后节点的url肯定是相同的!不管链表是怎么链接的,不管链表a和链表b在实际实现中是不是有节点交叉,还是仅仅是节点的内容交叉,两个链表的最后节点肯

2013-04-02 12:55:47 1340

转载 程序员编程艺术:第二章、字符串是否包含及匹配/查找/转换/拷贝问题

程序员编程艺术:第二章、字符串是否包含及匹配/查找/转换/拷贝问题作者:July,yansha。时间:二零一一年四月二十三日。致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊菜,及微软100题实现小组所有成员。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。-

2013-03-31 23:05:52 1496

转载 学习C++:实践者的方法

学习C++:实践者的方法(Beta1)By 刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba)前言我的blog以前很长一段时间关注的都是C++中的技术&细节,乃至于读者和应者都寥寥。然而5月份的时候写的一篇“你应当如何学习C++”,阅读量却达到了3万多,在blog上所有文章中却是最高的(且远远超过了第二位);评论数

2013-03-30 23:08:22 1274

转载 为什么C++(来自C++之父的观点)

为什么C++(感谢waterwalk翻译) 刘未鹏(pongba) /文waterwalk /译C++的罗浮宫(http://blog.csdn.net/pongba) 首先非常感谢waterwalk的辛勤翻译:-) waterwalk把翻译回贴在原文的下面了,为了方便阅读我提取出来编辑以后重发一个帖子。这篇文章原本是想对最近C/C++争论系统的整理一下一些思考的,但由于一

2013-03-30 23:05:56 1111

转载 编程的首要原则(s)是什么?

半年前,JoelOnSoftware和CodingHorror合搞的stackoverflow.com刚上线不久,我兴冲冲地跑过去扔了一个问题:你们认为编程的首要原则是什么?作为我的学习原则的一个实践:8. 学习一项知识,必须问自己三个重要问题:1. 它的本质是什么。2. 它的第一原则是什么。3. 它的知识结构是怎样的。5个月过去了,这个问题到现在还有人回复

2013-03-30 23:04:28 980

转载 教你透彻了解红黑树

教你透彻了解红黑树 作者:July、saturnman   2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, Februa

2013-03-30 22:53:39 919

转载 从Trie树(字典树)谈到后缀树

从Trie树(字典树)谈到后缀树作者:July、yansha。出处:http://blog.csdn.net/v_JULY_v 。 引言    常关注本blog的读者朋友想必看过此篇文章:从B树、B+树、B*树谈到R 树,这次,咱们来讲另外两种树:Tire树与后缀树。不过,在此之前,先来看两个问题。    第一个问题: 一个文本文件,大约有一万行

2013-03-30 22:52:51 1392

转载 经典算法研究系列:六、教你初步了解KMP算法、updated

教你初步了解KMP算法 作者: July 、saturnma、上善若水。     时间; 二零一一年一月一日-----------------------本文参考:数据结构(c语言版) 李云清等编著、算法导论引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配问题。本文由简单的字符串匹配算法开始,再到

2013-03-30 22:50:30 961

转载 程序员编程艺术:第八章、从头至尾漫谈虚函数

程序员编程艺术:第八章、从头至尾漫谈虚函数作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前奏    有关虚函数的问题层出不穷,有关虚函数的文章千篇一律,那为何还要写这一篇有关虚函数的文章呢?看完本文后,相信能懂其意义之所在。同时,原狂想曲系列已经更名为程序员编程艺术系列,因为不再只专注于“面试”,而在“编程”之上了。ok,

2013-03-30 22:49:33 926

转载 程序员编程艺术:第十章、如何给10^7个数据量的磁盘文件排序

第十章、如何给10^7个数据量的磁盘文件排序作者:July,yansha,5,编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。 前奏    经过几天的痛苦沉思,最终决定,把原程序员面试题狂想曲系列正式更名为程序员编程艺术系列,同时,狂想曲创作组更名为编程艺术室。之所以要改名,我们考虑到三点:1、为面试服务不能成为我们最终或

2013-03-30 22:48:32 1054

转载 海量数据处理面试题集锦

十七道海量数据处理面试题与Bit-map详解作者:小桥流水,redfox66,July。前言    本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。    同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题

2013-03-30 22:47:02 870

转载 程序员编程艺术:第三章续、Top K算法问题的实现

程序员编程艺术:第三章续、Top K算法问题的实现    作者:July,zhouzhenren,yansha。    致谢:微软100题实现组,狂想曲创作组。    时间:2011年05月08日    微博:http://weibo.com/julyweibo 。    出处:http://blog.csdn.net/v_JULY_v 。    wiki:http

2013-03-30 22:45:44 1224

转载 程序员编程艺术:第三章、寻找最小的k个数

程序员编程艺术:第三章、寻找最小的k个数作者:July。时间:二零一一年四月二十八日。致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作组。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。--------------------------

2013-03-30 22:44:34 1253

转载 十一、从头到尾彻底解析Hash表算法

十一、从头到尾彻底解析Hash 表算法作者:July、wuliming、pkuoliver  出处:http://blog.csdn.net/v_JULY_v。  说明:本文分为三部分内容,    第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。------------------------

2013-03-30 22:42:46 992

转载 Dynamic Count Filter

Spectral bloom filter(SBF)在counting bloom filter(CBF)的基础上提出了元素出现频率查询的概念,将CBF的应用扩展到了multi-set的领域。但是,SBF为解决动态counter的存储问题,引入了复杂的索引结构,这让每个counter的访问变得复杂而耗时。有没有一种解决方案既支持元素出现频率查询,结构又相对比较简单呢?Dynamic cou

2013-03-30 22:40:33 1192

转载 Counting Bloom Filter

Counting Bloom Filter焦萌 2007年1月30日 从前面几篇对Bloom Filter的介绍可以看出,标准的Bloom Filter是一种很简单的数据结构,它只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准Bloom Filter可以很好地工作,但是如果要表达的集合经常变动,标准Bloom Filter的弊端就显现出来了,因为它不支持删除操作。

2013-03-30 22:40:06 1042

转载 从B树、B+树、B*树谈到R 树

从B 树、B+ 树、B* 树谈到R 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*

2013-03-30 22:37:51 1160

转载 海量数据处理:十道面试题与十个海量数据处理方法总结

海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题1、海量日志数据

2013-03-30 22:32:55 1532

转载 海量数据处理之Bloom Filter详解

前言    本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题。如果有任何问题,欢迎不吝指正。谢谢。一、什么是Bloom Filter    Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom F

2013-03-30 22:32:03 1858

转载 Bloom Filter概念和原理

Bloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter

2013-03-30 22:31:16 940

转载 教你如何迅速秒杀掉:99%的海量数据处理面试题(JULY)

教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道bloghttp://blog.csdn.net/v_july_v/article/details/7382693前言   一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么

2013-03-30 22:29:41 1492

排序算法整理大全

各种排序算法分析,有图解,有分析,伪代码,源代码。挺全的,都是自己整理的。原文地址是http://blog.csdn.net/liangbopirates/article/details/9292379 欢迎批评指正

2013-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除