随笔分类 -  19.TAOPP algorithms

程序员编程艺术第二十五章:Jon Bentley:90%无法正确实现二分查找
摘要:第二十五章:二分查找实现(Jon Bentley:90%程序员无法正确实现)作者:July出处:结构之法算法之道引言 Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码。也许很多人都早已听说过这句话,但我还是想引用《编程珠玑》上的如下几段文字: “二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩小包含T的范围,最终就可以找到它。一开始,范围覆盖整个数组。将数组的中间项与T进行比较,可以排除一半元素,范围缩小一半。就这样反复比较,反复缩小范围,最终就会在数组中找到T,或者确定原以为T所在的范围实际为空。对于包含N个元素的表,整个查找 阅读全文

posted @ 2011-12-21 19:35 Hibernate4 阅读(174) 评论(0) 推荐(0) 编辑

程序员编程艺术第一~二十二章集锦与总结(教你如何编程)
摘要:程序员编程艺术第一~二十二章集锦与总结(教你如何编程)作者:July、编程艺术室。出处:http://blog.csdn.net/v_JULY_v。题记 好久没更新博客了,虽只有一个月,但对我来说,已是长久。最重要的是11月初来北京后,在这近一个月找工作的过程中,面试、拜访、购书、读书,亦许久没有敲代码了,手异常生疏,虽只有一个月,但对我来说,仍已是长久。为了表示我一直在关注着本博客,从未曾离开,也为了可以更多的思考,更为了让手不致生疏,更新吧。 ok,针对微软100题一题一题解答的,程序员编程艺术已经写到第二十二章了(艺术这个高帽子早已有意摘取之,然都戴了这么久了,还是戴着好了),其中有些. 阅读全文

posted @ 2011-11-23 17:34 Hibernate4 阅读(250) 评论(0) 推荐(0) 编辑

编程艺术第十六~第二十章:全排列/跳台阶/奇偶调序,及一致性hash算法
摘要:第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题作者:July、2011.10.16。出处:http://blog.csdn.net/v_JULY_v。引言 最近这几天闲职在家,一忙着投简历,二为准备面试而搜集整理各种面试题。故常常关注个人所建的Algorithms1-14群内朋友关于笔试,面试,宣讲会,offer,薪资的讨论以及在群内发布的各种笔/面试题,常感言道:咱们这群人之前已经在学校受够了学校的那种应试教育,如今出来找工作又得东奔西走去参加各种笔试/面试,着实亦不轻松。幻想,如果在企业与求职者之间有个中间面试服务平台就更好了。 ok,闲话少扯。在上一篇文章中,已经.. 阅读全文

posted @ 2011-10-17 00:00 Hibernate4 阅读(192) 评论(0) 推荐(0) 编辑

程序员编程艺术第十一章:最长公共子序列(LCS)问题
摘要:程序员编程艺术第十一章:最长公共子序列(LCS)问题0、前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结)。回顾之前的前十章,有些代码是值得商榷的,因当时的代码只顾阐述算法的原理或思想,所以,很多的与代码规范相关的问题都未能做到完美。日后,会着力修善之。 搜遍网上,讲解这个LCS问题的文章不计其数,但大多给读者一种并不友好的感觉,稍感晦涩,且代码也不够清晰。本文力图避免此些情况。力保通俗,阐述详尽。同时,经典算法研究系列的第三章(三、dynamic programming)也论述了此LCS问题。有任何问题,欢迎不吝赐教。第一节、问题描述 什么是最长公共. 阅读全文

posted @ 2011-08-17 16:47 Hibernate4 阅读(178) 评论(0) 推荐(0) 编辑

程序员编程艺术:三之三续、求数组中给定下标区间内的第K小(大)元素
摘要:第三章三续、求数组中给定下标区间内的第K小(大)元素作者:July、上善若水、编程艺术室。出处:http://blog.csdn.net/v_JULY_v。前奏 原狂想曲系列已更名为:程序员编程艺术系列。原狂想曲创作组更名为编程艺术室。编程艺术室致力于以下三点工作:1、针对一个问题,不断寻找更高效的算法,并予以编程实现。2、解决实际中会碰到的应用问题,如第十章、如何给磁盘文件排序。3、经典算法的研究与实现。总体突出一点:编程,如何高效的编程解决实际问题。欢迎有志者加入。 ok,扯远了。在上一章,我们介绍了第十章、如何给10^7个数据量的磁盘文件排序,下面介绍下本章的主题。我们知道,通常来讲,. 阅读全文

posted @ 2011-05-28 17:34 Hibernate4 阅读(172) 评论(0) 推荐(0) 编辑

十四、第三章再续:快速选择SELECT算法的深入分析与实现
摘要:十四、亦第三章再续:快速选择SELECT算法的深入分析与实现作者:July。出处:http://blog.csdn.net/v_JULY_v 。前言 经典算法研究系列已经写了十三个算法,共计22篇文章(详情,见这:十三个经典算法研究与总结、目录+索引),我很怕我自己不再把这个算法系列给继续写下去了。沉思良久,到底是不想因为要创作狂想曲系列而耽搁这个经典算法研究系列,何况它,至今反响还不错。 ok,狂想曲第三章提出了一个算法,就是快速选择SELECT算法,关于这个SELECT算法通过选取数组中中位数的中位数作为枢纽元能保证在最坏情况下,亦能做到线性O(N)的时间复杂度的证明,在狂想曲第三章也已. 阅读全文

posted @ 2011-05-19 00:27 Hibernate4 阅读(5885) 评论(0) 推荐(0) 编辑

程序员编程艺术:第三章续、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.wikispaces.com/。-----------------------------------------------前奏 在上一篇文章,程序员面试题狂想曲:第三章、寻找最小的k个数中,后来为了论证类似快速排序中partition的方法在最坏情. 阅读全文

posted @ 2011-05-08 17:31 Hibernate4 阅读(173) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示