程序员编程艺术
文章平均质量分 91
程序员编程艺术系列(简称TAOPP系列),围绕“面试”、“算法”、“编程”三个主题,注重提高广大初学者的编程能力,以及如何运用编程技巧和高效的算法解决实际应用问题,是编程初学者与面试找工作的必备材料。
v_JULY_v
七月在线创始人兼CEO,结构之法算法之道blog之博主
展开
-
程序员编程艺术:第八章、从头至尾漫谈虚函数
程序员编程艺术:第八章、从头至尾漫谈虚函数作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前奏 有关虚函数的问题层出不穷,有关虚函数的文章千篇一律,那为何还要写这一篇有关虚函数的文章呢?看完本文后,相信能懂其意义之所在。同时,原狂想曲系列已经更名为程序员编程艺术系列,因为不再只专注于“面试”,而在“编程”之上了。ok,如果有不正之处,望不吝赐教。谢谢。第原创 2011-05-26 01:03:00 · 43101 阅读 · 117 评论 -
微软公司等数据结构+算法面试100题(第1-100题)全部出炉
微软等公司数据结构+算法面试100题(第1-100题)首次完整亮相 作者:July、2010年12月6日。更新:现今,这100题的答案已经全部整理出来了,微软面试100题2010年版全部答案集锦:http://blog.csdn.net/v_july_v/article/details/6870251。关于此100道面试题的所有一切详情,包括答案,资源原创 2010-12-06 09:17:00 · 240111 阅读 · 115 评论 -
十道海量数据处理面试题与十个方法大总结
海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这原创 2011-03-26 10:16:00 · 463982 阅读 · 191 评论 -
程序员编程艺术第一~二十七章集锦与总结(教你如何编程),及PDF免分下载
程序员编程艺术第一~二十七章集锦与总结(教你如何编程)作者:July、编程艺术室出处:结构之法算法之道blog一、引言 自从去年7月份朋友花明月黯帮我制作了十三个经典算法研究的PDF文档(最新的十五个算法研究文档到这里下载:http://download.csdn.net/detail/v_july_v/4478027)之后,我便一直希望能有人再帮我制作我的另一个系列:程序员编程艺术的PDF原创 2012-04-25 22:07:31 · 80132 阅读 · 166 评论 -
程序员编程艺术第四十一章~四十二章:荷兰国旗、矩阵相乘Strassen算法
第四十一章~四十二章:荷兰国旗问题、矩阵相乘之Strassen算法前言 本文要讲的两个问题:荷兰国旗和矩阵相乘之Strassen算法 都跟分治法相关,故把这两个问题放到了一起。所谓分治,便是分而治之的意思,好比打战时面对敌人的庞大武装,采取避其主力,各个击破的策略。 有何问题,欢迎随时不吝指正,thanks。第十一章、荷兰国旗问题题目描述现有红白蓝三个不同颜色的小球,乱序排列在一起,请原创 2014-01-27 23:20:07 · 65443 阅读 · 22 评论 -
程序员编程艺术第三十九~四十章:最近公共祖先LCA、打印螺旋矩阵
第三十九~第四十章:最低公共祖先LCA问题、螺旋矩阵前言整个编程艺术系列写到了本第三十九和第四十章,系列越写到后,对题材的选取越严格,即不是任何一个编程问题都可以收录到本系列中。 再者,之前已写的38章尚存在诸多问题,为了和大家一起更好的改进整个系列,特和一帮朋友把它同步到了github上,见:https://github.com/julycoding/The-Art-Of-Programming-by-July。至此,任何人都可以改进本系列,包括指正bug、优化代码、重绘图片、英文翻译等等工作。原创 2014-01-15 15:39:56 · 60314 阅读 · 36 评论 -
程序员编程艺术第三十八章:Hero在线编程判题、出题系统的演进与优化
第三十八章:Hero在线编程判题系统的演进与优化前言 以前出门在外玩的时候,经常跑去网吧,去网吧也不干啥事,看看博客,改改博客,但若想修改博客上的一段代码,则想习惯性的打开编译器才发觉网吧是不会装编译器这个东西的,可要安装它却要不少时间,所以每次想在网吧写代码都作罢。 当时,便想,如果某一天打开浏览器,便能在网页上直接敲代码,那该有多好,随时随地,不受编译器限制。好事多磨,今年3月终于原创 2013-12-28 15:52:30 · 35415 阅读 · 25 评论 -
程序员编程艺术第一~三十八章集锦与总结,及Github地址、PDF下载
程序员面试题精选100题:第1~37题集锦与总结,及免积分PDF下载前言程序员编程艺术第一~三十七章集锦第一章、左旋转字符串定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。 第二章、字符串是否包含问题假设这有一个各种字母组成的原创 2013-12-13 16:45:36 · 63555 阅读 · 26 评论 -
程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
第三十六~三十七章、搜索智能提示suggestion,附近地点搜索题记 写博的近三年,整理了太多太多的笔试面试题,如微软面试100题系列,和眼下这个程序员编程艺术系列,真心觉得题目年年变,但解决问题的方法永远都是那几种,用心准备后,自会发现一切有迹可循。 故为更好的帮助人们找到工作,特准备举办一系列面试&算法讲座。时间定为周末,每次一个上午或下午,受众对象为要找工作或换工作或对算法感兴原创 2013-09-07 10:22:30 · 53258 阅读 · 37 评论 -
程序员编程艺术第三十四~三十五章:格子取数问题,完美洗牌算法
第三十四~三十五章:格子取数问题,完美洗牌算法的变形题记 再过一个半月,即到2013年10月11日,本博客便是开通3周年,巧的是,这天刚好也是我的25岁生日。写博近三年,访问量趋近500万,无法确切知道帮助了多少人影响了多少人,但有些文章和一些系列是我比较喜欢的,如这三篇:从B树、B+树、B*树谈到R 树http://t.cn/ap5XUw;教你如何迅速秒杀掉:99%的海量数据处理面试题ht原创 2013-08-23 12:04:30 · 57841 阅读 · 51 评论 -
程序员编程艺术第三十二~三十三章:最小操作数,木块砌墙问题
第三十二~三十三章:最小操作数,木块砌墙问题作者:July、caopengcs,致谢:红色标记时间:二零一三年八月十二日题记 可能再过一两月,便又到了每年九月十月校招高峰期,在此推荐:①程序员编程艺术http://t.cn/zO2VomB;②秒杀99%的海量数据处理面试题http://t.cn/zOixljh;③编程之美;④微软面试100题系列http://t.cn/zOLxG4x;⑤剑指o原创 2013-08-12 15:08:39 · 42710 阅读 · 48 评论 -
程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配
第三十~三十一章:字符串转换成整数,通配符的字符串匹配问题前言 之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说下过去半年看过的自觉还不错的数学史方面的书:《数理统计学简史》《微积分概念发展史》《微积分的历程:从牛顿到勒贝格》《数学恩仇录》《数学与知识的探求》《古今数学思想》《素数之恋》),故一直未曾有时原创 2013-06-04 17:52:03 · 63184 阅读 · 100 评论 -
程序员编程艺术第二十八~二十九章:最大连续乘积子串、字符串编辑距离
第二十八~二十九章:最大连续乘积子串、字符串编辑距离前言 时间转瞬即逝,一转眼,又有4个多月没来更新blog了,过去4个月都在干啥呢?对的,今2013年元旦和朋友利用业余时间一起搭了个方便朋友们找工作的编程面试算法论坛:为学论坛http://www.51weixue.com/(因为后边的hero,论坛已逐步废弃)。最近则开始负责一款在线编程挑战平台:英雄会http://hero.pongo.原创 2013-03-20 06:52:45 · 105163 阅读 · 54 评论 -
程序员编程艺术第二十七章:不改变正负数相对顺序重新排列数组(无解?)
第二十七章:不改变正负数之间相对顺序重新排列数组.时间O(N),空间O(1)前言 在这篇文章:九月腾讯,创新工场,淘宝等公司最新面试十三题的第5题(一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序),自从去年九月收录了此题至今,一直未曾看到令人满意的答案,为何呢? 因为一般达不到题目所要求的:时间复杂度O(N),空间O(1),且保证原来正原创 2012-03-07 16:31:02 · 72591 阅读 · 204 评论 -
程序员编程艺术第二十六章:基于给定的文档生成倒排索引(含源码下载)
第二十六章:基于给定的文档生成倒排索引的编码与实践作者:July、yansha。出处:结构之法算法之道引言 本周实现倒排索引。实现过程中,寻找资料,结果发现找份资料诸多不易:1、网上搜倒排索引实现,结果千篇一律,例子都是那几个同样的单词;2、到谷歌学术上想找点稍微有价值水平的资料,结果下篇论文还收费或者要求注册之类;3、大部分技术书籍只有理论,没有实践。于是,朋友戏言:网上一般有价值的东西不原创 2011-12-28 17:13:59 · 76701 阅读 · 45 评论 -
程序员编程艺术第二十五章:Jon Bentley:90%无法正确实现二分查找
第二十五章:二分查找实现(Jon Bentley:90%程序员无法正确实现)作者:July出处:结构之法算法之道引言 Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码。也许很多人都早已听说过这句话,但我还是想引用《编程珠玑》上的如下几段文字: “二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它原创 2011-12-21 19:35:09 · 77177 阅读 · 120 评论 -
编程艺术第二十三~四章&十一续:杨氏矩阵查找,倒排索引关键词Hash编码
第二十三、四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践作者:July、yansha。编程艺术室出品。出处:结构之法算法之道。前言 本文阐述两个问题,第二十三章是杨氏矩阵查找问题,第二十四章是有关倒排索引中关键词Hash编码的问题,主要要解决不重复以及追加的功能,同时也是经典算法研究系列十一、从头到尾彻底解析Hash表算法之续。 OK,有任何问题,也欢迎随时交流或批评指正。谢原创 2011-12-19 21:23:08 · 80617 阅读 · 51 评论 -
程序员编程艺术第一~二十二章集锦与总结(教你如何编程)
程序员编程艺术第一~二十二章集锦与总结(教你如何编程) 作者:July、编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。题记 好久没更新博客了,虽只有一个月,但对我来说,已是长久。最重要的是11月初来北京后,在这近一个月找工作的过程中,面试、拜访、购书、读书,亦许久没有敲代码了,手异常生疏,虽只有一个月,但对我来说,仍已是长久。为了表示我一直在关注着本原创 2011-11-23 17:34:15 · 59840 阅读 · 30 评论 -
程序员编程艺术第一~十章集锦与总结(教你如何编程)--持续更新中
程序员编程艺术第一~十章集锦与总结--面试、算法、编程 作者:July、编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。 围绕“面试”、“算法”、“编程”三个主题的程序员编程艺术系列(简称TAOPP系列)从今年4月写第一篇起,至今快有2个月。2个月的创作中,写了十章,共计13篇文章。这是本人的第4大原创作品,不过与之前微软面试100题系列,红黑树系列,及十三个原创 2011-06-02 01:41:00 · 134804 阅读 · 167 评论 -
程序员编程艺术第二十一~二章:发帖水王及扩展,与最短摘要生成(12.07修订)
第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成前言 咱们先来看两个问题: 第一个问题来自编程之美上,Tango是微软亚洲研究院的一个试验项目,如图1所示。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)原创 2011-10-20 11:36:06 · 50637 阅读 · 48 评论 -
编程艺术第十六~第二十章:全排列/跳台阶/奇偶调序,及一致性Hash算法
第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题作者:July、2011.10.16。出处:http://blog.csdn.net/v_JULY_v。引言 最近这几天闲职在家,一忙着投简历,二为准备面试而搜集整理各种面试题。故常常关注个人所建的Algorithms1-14群内朋友关于笔试,面试,宣讲会,offer,薪资的讨论以及在群内发布的各种笔/面试题,常感言道:咱们这原创 2011-10-17 00:00:25 · 68629 阅读 · 57 评论 -
程序员编程艺术第十二~十五章:IP访问次数,回文等问题(初稿)
程序员编程艺术第十二~十五章:中签概率,IP访问次数,回文等问题(初稿)作者:上善若水.qinyu,BigPotato,luuillu,well,July。编程艺术室出品。前言 本文的全部稿件是由我们编程艺术室的部分成员:上善若水.qinyu,BigPotato,luuillu,well,July共同完成,共分4个部分,即4道题:第一部分、从一道题,漫谈数据结构、以及压缩、位图算法,由上善若原创 2011-08-23 16:10:43 · 38093 阅读 · 52 评论 -
程序员编程艺术第十一章:最长公共子序列(LCS)问题
程序员编程艺术第十一章:最长公共子序列(LCS)问题0、前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结)。回顾之前的前十章,有些代码是值得商榷的,因当时的代码只顾阐述算法的原理或思想,所以,很多的与代码规范相关的问题都未能做到完美。日后,会着力修缮之。 搜遍网上,讲解这个LCS问题的文章不计其数,但大多给读者一种并不友好的感觉,稍感晦涩,且代码原创 2011-08-17 16:47:23 · 68994 阅读 · 55 评论 -
程序员编程艺术:第十章、如何给10^7个数据量的磁盘文件排序
第十章、如何给10^7个数据量的磁盘文件排序作者:July,yansha,5,编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。 前奏 经过几天的痛苦沉思,最终决定,把原程序员面试题狂想曲系列正式更名为程序员编程艺术系列,同时,狂想曲创作组更名为编程艺术室。之所以要改名,我们考虑到三点:1、为面试服务不能成为我们最终或最主要的目的,2、我更愿把解答一道道面试题,原创 2011-05-28 16:25:00 · 82236 阅读 · 146 评论 -
程序员编程艺术:第九章、闲话链表追赶问题
程序员编程艺术:第九章、闲话链表追赶问题作者:July、狂想曲创作组。出处:http://blog.csdn.net/v_JULY_v 。前奏 有这样一个问题:在一条左右水平放置的直线轨道上任选两个点,放置两个机器人,请用如下指令系统为机器人设计控制程序,使这两个机器人能够在直线轨道上相遇。(注意两个机器人用你写的同一个程序来控制)。 指令系统:只包含4条指令,向左、向右、条件判定、无原创 2011-05-26 11:20:00 · 38542 阅读 · 68 评论 -
程序员编程艺术:第七章、求连续子数组的最大和
程序员面试题狂想曲:第七章、求子数组的最大和作者:July出处:前奏 我更愿意更多的人和我一样,把本狂想曲系列中的任何一道面试题当做一道简单的编程题或一个实质性的问题来看待,在阅读本狂想曲系列的过程中,希望你能尽量暂时放下所有有关面试的一切包袱,潜心攻克每一道“编程题”,在解决编程题的过程中,好好享受编程带来的无限乐趣,与思考带来的无限激情。第一节、求子数组的最大和3.求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求原创 2011-05-25 09:30:00 · 75507 阅读 · 138 评论 -
程序员编程艺术:第六章、求解500万以内的亲和数
程序员面试题狂想曲:第六章、亲和数问题作者:July、上善若水、yansha。出处:http://blog.csdn.net/v_JULY_v。前奏 本章陆续开始,会有意识的间断性节选一些有关数字趣味的面试题目,重在思路的“巧”,和“秒”。第一节、亲和数问题题目描述:求500万以内的所有亲和数如果两个数a和b,a的所有真因数之和等于b,b的所有真因数之和等于a,则称a,b是一对亲和数。例如220和284,1184和1210,2620和2924。分析: 首先原创 2011-05-24 02:56:00 · 37658 阅读 · 121 评论 -
程序员编程艺术:第五章、寻找满足和为定值的两个或多个数
程序员编程艺术:第五章、寻找和为定值的两个或多个数 作者:July,yansha,zhouzhenren。 致谢:微软100题实现组,编程艺术室。 微博:http://weibo.com/julyweibo 。 出处:http://blog.csdn.net/v_JULY_v 。 wiki:http://tctop.wikispaces.com/。------原创 2011-05-14 12:13:00 · 76197 阅读 · 102 评论 -
程序员编程艺术:第四章、现场编写类似strstr/strcpy/strpbrk的函数
第四章、现场编写类似strstr/strcpy/strpbrk的函数 作者:July。 说明: 如果在博客中代码使用了\n,csdn blog系统将会自动回给我变成/n。据后续验证,可能是原来旧blog版本的bug,新版已不存在此问题。至于,本文代码,日后统一修正。July、2012.05.02。 微博:http://weibo.com/julyweibo 。 出处原创 2011-05-13 16:05:00 · 49929 阅读 · 141 评论 -
程序员编程艺术:三之三续、求数组中给定下标区间内的第K小(大)元素
第三章三续、求数组中给定下标区间内的第K小(大)元素作者:July、上善若水、编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。前奏 原狂想曲系列已更名为:程序员编程艺术系列。原狂想曲创作组更名为编程艺术室。编程艺术室致力于以下三点工作:1、针对一个问题,不断寻找更高效的算法,并予以编程实现。2、解决实际中会碰到的应用问题,如第十章、如何给磁盘文件排序。3、经典原创 2011-05-28 17:34:00 · 39755 阅读 · 40 评论 -
十四、第三章再续:快速选择SELECT算法的深入分析与实现
十四、亦第三章再续:快速选择SELECT算法的深入分析与实现作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前言 经典算法研究系列已经写了十三个算法,共计22篇文章(详情,见这:十三个经典算法研究与总结、目录+索引),我很怕我自己不再把这个算法系列给继续写下去了。沉思良久,到底是不想因为要创作狂想曲系列而耽搁这个经典算法研究系列,何况它,至今反响还不原创 2011-05-19 00:27:00 · 55185 阅读 · 86 评论 -
程序员编程艺术:第三章续、Top K算法问题的实现
程序员编程艺术:第三章续、Top K算法问题的实现 作者:July,zhouzhenren,yansha。 致谢:微软100题实现组,狂想曲创作组。 时间:2011年05月08日 微博:http://weibo.com/julyweibo 。 出处:http://blog.csdn.net/v_JULY_v 。 wiki:http://tctop.wikispa原创 2011-05-08 23:13:52 · 90013 阅读 · 76 评论 -
程序员编程艺术:第三章、寻找最小的k个数
程序员编程艺术:第三章、寻找最小的k个数作者:July。时间:二零一一年四月二十八日。致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作组。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。----------------------------------前奏原创 2011-04-28 21:50:00 · 129852 阅读 · 197 评论 -
程序员编程艺术:第二章、字符串是否包含问题
程序员编程艺术:第二章、字符串是否包含及匹配/查找/转换/拷贝问题作者:July,yansha。时间:二零一一年四月二十三日。致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊菜,及微软100题实现小组所有成员。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。---------------原创 2011-04-23 21:55:00 · 101811 阅读 · 247 评论 -
程序员编程艺术:第一章、左旋转字符串
第一章、左旋转字符串作者:July,yansha。时间:二零一一年四月十四日。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。-------------------------------------------目录序前言第一节、左旋转字符串第二节、两个指针逐步翻转第三节、通过递归转换,缩小问题之规模第四节、stl::r原创 2011-04-14 13:14:00 · 135833 阅读 · 273 评论