置顶随笔

[置顶]《大话数据结构》相关主题

摘要: 本书以一个计算机教师教学为场景,讲解数据结构和相关算法内容的知识。通篇都以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析,多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。阅读全文

posted @ 2011-02-06 17:18 伍迷 阅读(7989) 评论(0) 编辑

[置顶]伍迷创意随想集

摘要: 伍迷是个喜欢胡思乱想的人,因此打算近期陆续把这些个人认为比较可行的,可能有商业价值的点子写出来,让大家来评判和指正,并让喜欢它并有可能去把它付诸实践的人去实施它。阅读全文

posted @ 2008-07-10 10:18 伍迷 阅读(2440) 评论(4) 编辑

[置顶]伍迷随想冷饭集

摘要: 主要是伍迷过去和现在的随笔文章,没有技术内容,纯粹休闲。阅读全文

posted @ 2008-02-24 21:58 伍迷 阅读(3206) 评论(16) 编辑

[置顶]《大话设计模式》相关主题

摘要: 《大话设计模式》出版三年多,承蒙广大读者的厚爱,成为极为畅销的计算机图书,感谢大家的支持!阅读全文

posted @ 2007-12-30 23:26 伍迷 阅读(11538) 评论(0) 编辑

[置顶]小菜编程成长记系列

摘要: 系列的全部链接以及提供PDF文档下载阅读全文

posted @ 2007-04-02 21:34 伍迷 阅读(32208) 评论(102) 编辑

2012年1月9日

《大话数据结构》简体中文版第三次印刷后勘误

摘要: 《大话数据结构》第三次印刷已经修正了大部分此前的错误,但还是遗留了部分,希望购买的读者能够首先更新勘误中的错误后再阅读。给您带来了不便,抱歉!阅读全文

posted @ 2012-01-09 09:22 伍迷 阅读(573) 评论(14) 编辑

2011年7月11日

转帖:希望伍迷开创一个大话时代——《大话数据结构》读者书评

摘要: 这位豆瓣的读者文字很棒,既写到了买书的原因,也通过举书中的例子提到了本书的特点。面对如此褒奖,伍迷也有些飘飘然起来,淡定淡定,一切又将重新开始!阅读全文

posted @ 2011-07-11 22:44 伍迷 阅读(2304) 评论(9) 编辑

转帖:算法好学吗?——《大话数据结构》读者书评

摘要: 陈钢同学是我的朋友,在我写作时给予了我很多帮助。此评论写得相当客观,并没有夸大地说好话,而是强调了《大话数据结构》仅仅只是数据结构与算法学习的起步而已。我转帖出来,也是希望读者可以了解,算法要学好,可真不是几日之功。我们都需要不断努力!阅读全文

posted @ 2011-07-11 22:39 伍迷 阅读(2120) 评论(4) 编辑

2011年7月4日

《大话数据结构》样章试读

摘要: 本应该直接贴出正文,但考虑到图片过多和排版格式较为复杂,为了能够原汁原味的体现原书风貌,所以就提供PDF文档下载阅读。阅读全文

posted @ 2011-07-04 14:05 伍迷 阅读(6641) 评论(50) 编辑

2011年6月26日

《大话数据结构》简体中文版勘误

摘要: 时常更新,请购买图书的读者关注!阅读全文

posted @ 2011-06-26 17:26 伍迷 阅读(6105) 评论(211) 编辑

《大話資料結構》繁體中文版勘誤

摘要: 时常更新,请购买图书的读者关注!阅读全文

posted @ 2011-06-26 17:26 伍迷 阅读(986) 评论(3) 编辑

2011年6月3日

《大话数据结构》目录

摘要: 由于目录中有比较复杂的格式,所以只能用PDF的形式提供。http://files.cnblogs.com/cj723/%E7%9B%AE%E5%BD%95.pdf阅读全文

posted @ 2011-06-03 11:59 伍迷 阅读(2109) 评论(0) 编辑

2011年6月1日

《大话数据结构》前言

摘要: 前 言本书起因 大家好!我是《大话设计模式》(2008年初出版)的作者,三年来,承蒙广大读者的厚爱,《大话设计模式》取得了较大的成功。仅在当当网,截止本文写作时,就已经有1073次评论,705次5星评价,位居五星图书榜计算机/网络类的累计总榜第二名。此书已经成为国内原创计算机类图书最畅销的书籍之一。 对于这样一个自己喜欢做、可以做得好,而且已经得到了市场广泛认可,为很多朋友提供帮助的事情,我没有理由不去继续做下去。这就是我准备再写书的原因。 我曾做过调查,数据结构的学习者大多都有这样的感慨:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学得很累。可我更希望传达这样的信阅读全文

posted @ 2011-06-01 11:10 伍迷 阅读(2439) 评论(15) 编辑

2011年5月31日

推荐阅读《大话设计模式》的策划编辑陈禹成写的新书《电脑使用说明书》

摘要: 三年前,我很幸运能与陈禹成(当年叫陈冰,曾是清华大学出版社策划编辑)合作,完成了《大话设计模式》的创作和出版工作。应该说,没有陈禹成的帮助,也不可能有《大话设计模式》的成功。非常感谢他!非常巧,就在我的新书要出版之时,陈禹成的新书《电脑使用说明书》也在当当预售了,我们竟然是同一个月出版的。因此,无论如何也要为朋友的新书吆喝一把。希望看到的朋友可以将此书推荐给你的父母、女友、妹妹等等所有对电脑了解甚少,希望可以轻松了解电脑基础知识的朋友。我看过此书的样章,相信不会让他们失望的。阅读全文

posted @ 2011-05-31 17:06 伍迷 阅读(832) 评论(0) 编辑

2011年4月29日

《大话数据结构》第9章 排序 9.10 总结回顾

摘要: 我们生命中,矛盾和困惑往往一直伴随。很多同学来学习数据结构,其实并不是真的明白它的重要性,通常只是因为学校开了这门课,而不得不来这里弄个PASS,过后,真到需要用时,却发现力不从心而追悔莫及。尽管现在是课程的最后,对于个别没有重视这门课的同学来说有些晚了,我还是想再亡羊补牢:数据结构和算法对于程序员的职业人生来说,那就是两个圆圈的交集部分,用心去掌握它,你的编程之路将会是坦途。阅读全文

posted @ 2011-04-29 17:34 伍迷 阅读(2838) 评论(17) 编辑

2011年4月28日

《大话数据结构》第9章 排序 9.9 快速排序(下)

摘要: 我们现在学过的排序算法,有按照实现方法分类命名的,如简单选择排序、直接插入排序、归并排序,有按照其排序的方式类比现实世界命名的,比如冒泡排序、堆排序,还有用人名命名的,比如希尔排序。但是刚才我们讲的排序,却用“快速”来命名,这也就意味着只要再有人找到更好的排序法,此“快速”就会名不符实,不过,至少今天,TonyHoare发明的快速排序法经过多次的优化后,在整体性能上,依然是排序算法王者。我们应该要好好研究并掌握它。阅读全文

posted @ 2011-04-28 09:06 伍迷 阅读(2692) 评论(11) 编辑

2011年4月27日

《大话数据结构》第9章 排序 9.9 快速排序(上)

摘要: 9.9.1快速排序介绍 终于我们的高手要登场了,如果将来你工作后,你的老板要让你写个排序算法,而你会的算法中竟然没有快速排序,我想你还是不要声张,偷偷去把快速排序算法找来敲进电脑,这样至少你不至于被大伙儿取笑。 事实上,不论是C++ STL、Java SDK或者.NET FrameWork SDK等开发工具包中的源代码里都能找到它的某种实现版本。 快速排序算法最早由图灵奖获得者Tony Hoare设计出来的,他在形式化方法理论,以及ALGOL60 编程语言的发明都有卓越的贡献,是上世纪最伟大的计算机科学家之一。而这快速排序算法只是他众多贡献中的一个小发明而已。 更牛的是,我们现在要学习的这个快阅读全文

posted @ 2011-04-27 09:10 伍迷 阅读(2805) 评论(7) 编辑

2011年4月26日

《大话数据结构》第9章 排序 9.8 归并排序(下)

摘要: 9.8.3归并排序复杂度分析 我们来分析一下归并排序的时间复杂度,一趟归并需要将SR[1]~SR[n]中相邻的长度为h的有序序列进行两两归并。并将结果放到TR1[1]~TR1[n]中,这需要将待排序序列中的所有记录扫描一遍,因此耗费O(n)时间,而由完全二叉树的深度可知,整个归并排序需要进行⌈log2n⌉趟,因此,总的时间复杂度为O(nlogn),而且这是归并排序算法中最好、最坏、平均的时间性能。 由于归并排序在归并过程中需要与原始记录序列同样数量的存储空间存放归并结果以及递归时深度为log2n的栈空间,因此空间复杂度为O(n+logn)。 另外,对代码进行仔细研究,发现Merge函数中有if阅读全文

posted @ 2011-04-26 08:12 伍迷 阅读(2084) 评论(6) 编辑

2011年4月25日

《大话数据结构》第9章 排序 9.8 归并排序(上)

摘要: 9.8.1归并排序介绍 前面我们讲了堆排序,因为它用到了完全二叉树,充分利用了完全二叉树的深度是⌊log2n⌋+1的特性,所以效率比较高。不过堆结构的设计本身是比较复杂的,老实说,能想出这样的结构就挺不容易,有没有更直接简单的办法利用完全二叉树来排序呢?当然是有。 先来举一个例子。你们知道高考一本、二本、专科分数线是如何划分出来的吗? 简单地说,如果各高校本科专业在某省高三理科学生中计划招收1万名,那么将全省参加高考的理科学生分数倒排序,第1万名的总分数就是当年本科生的分数线(现实可能会比这复杂,这里简化之)。也就是说,即使你是你们班级第一、甚至年级第一名,如果你没有上分数线,则说明你的成绩排阅读全文

posted @ 2011-04-25 09:42 伍迷 阅读(2501) 评论(5) 编辑

2011年4月22日

《大话数据结构》第9章 排序 9.7 堆排序(下)

摘要: 9.7.2堆排序算法 堆排序(Heap Sort)就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新构造成一个堆,这样就会得到n个元素中的次小值。如此反复执行,便能得到一个有序序列了。 例如图9-7-4,左图是一个大顶堆,90为最大值,将90与20(末尾元素)互换,如中图所示,此时90就成了整个堆序列的最后一个元素,将20经过调整,使得除90以外的结点继续满足大顶堆定义(所有结点都大于等于其子孩子),见右图。然后再阅读全文

posted @ 2011-04-22 08:17 伍迷 阅读(2693) 评论(9) 编辑

2011年4月21日

《大话数据结构》第9章 排序 9.7 堆排序(上)

摘要: 9.7.1堆结构介绍 我们前面讲到简单选择排序,它在待排序的n个记录中选择一个最小的记录需要比较n-1次。本来这也可以理解,查找第一个数据需要比较这么多次正常的,否则如何知道它是最小的记录。 可惜的是,这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。如果可以做到每次在选择到最小的记录的同时,并根据比较对其他记录做出相应的调整,那样排序的总体效率就会非常高了。而堆排序(Heap Sort),就是对简单选择排序进行的一种改进,这种改进的效果是非常明显的阅读全文

posted @ 2011-04-21 21:56 伍迷 阅读(2247) 评论(6) 编辑

2011年4月20日

《大话数据结构》第9章 排序 9.6 希尔排序(下)

摘要: 9.6.3希尔排序算法 好了,为了能够真正弄明白希尔排序的算法,我们还是老办法——模拟计算机在执行算法时的步骤还研究算法到底是如何进行排序的。 希尔排序算法代码如下。1voidShellSort(SqList*L)2{3inti,j;4intincrement=L->length;5do6{7increment=increment/3+1;/*增量序列*/8for(i=increment+1;i<=L->length;i++)9{10if(L->r[i]<L->r[i-increment])/*需将L->r[i]插入有序增量子表*/11{12L->阅读全文

posted @ 2011-04-20 20:52 伍迷 阅读(2631) 评论(3) 编辑

2011年4月19日

《大话数据结构》第9章 排序 9.6 希尔排序(上)

摘要: 9.6.1变不可能为可能 给大家出一道智力题。请问“VII”是什么? 嗯,很好,它是罗马数字的7。现在我们要给它加上一笔,让它变成8(VIII),应该是非常简单,只需要在右侧加一竖线即可。 现在我请大家试着对罗马数字9,也就是“IX”增加一笔,把它变成6,应该怎么做? (几分钟后) 我已经听不少声音说,“这怎么可能!” 可为什么一定要用常规方法呢? 我这里有三种另类的方法可以实现它。 方法一:观察发现“X”其实可以看作是一个正放一个倒置两个“V”。因此我们,给“IX”中间加一条水平线,上下颠倒,然后遮住下面部分,也就是说,我们所谓的加上一笔就是遮住一部分,于是就得到“VI”。 方法二:在“IX阅读全文

posted @ 2011-04-19 22:22 伍迷 阅读(3542) 评论(13) 编辑

《大话数据结构》第9章 排序 9.5 直接插入排序

摘要: 9.5.1直接插入排序算法 扑克牌是我们几乎每个人都可能从事过的游戏。而最基本的扑克玩法都是一边摸牌,一边理牌。假如我们拿到了这样一手牌,如图9-5-1。啊,似乎是同花顺呀,别急,我们得理一理顺序才知道是否是真的同花顺。请问,如果是你,应该如何理牌呢? 应该说,哪怕你是第一次玩扑克牌,只要认识这些数字,理牌的方法都是不用教的。将3和4移动到5的左侧,再将2移动到最左侧,顺序就算是理好了。这里,我们的理牌方法,就是直接插入排序法。 直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 顾名思义,从名阅读全文

posted @ 2011-04-19 09:54 伍迷 阅读(3006) 评论(15) 编辑

2011年4月18日

《大话数据结构》第9章 排序 9.4 简单选择排序

摘要: 9.4.1简单选择排序算法 爱炒股票短线的人,总是喜欢不断的买进卖出,想通过价差来实现盈利。但通常这种频繁操作的人,即使失误不多,也会因为操作的手续费和印花税过高而获利很少。还有一种做股票的人,他们很少出手,只是在不断的观察和判断,等到时机一到,果断买进或卖出。他们因为冷静和沉着,以及交易的次数少,而最终收益颇丰。 冒泡排序的思想就是不断的在交换,通过交换完成最终的排序,这和做股票短线频繁操作的人是类似的。我们可不可以像只有在时机非常明确到来时才出手的股票高手一样,也就是在排序时找到合适的关键字再做交换,并且只移动一次就完成相应关键字的排序定位工作呢?这就是选择排序法的初步思想。 选择排序的基阅读全文

posted @ 2011-04-18 10:01 伍迷 阅读(1575) 评论(5) 编辑

导航

公告

    《大话数据结构》第三次印刷已将勘误中的错误修正,预计在2011年12月在各大网上书店中有售。具体时间由网店决定,我也不清楚,如果有买到的朋友能否给我发封邮件呀。再次向已经购买第一二次印刷的读者说一声抱歉,给您要花时间修正错误添麻烦了,当然您们在花费二十多分钟的修改后就能尽早阅读本书,也算是有遗憾后值得欣慰的地方!


联系邮箱:chengjielong#163.com
(中间“#”换成“@”)


新浪微博:http://weibo.com/cj723


本人《大话数据结构》2011年6月简体中文版由清华大学出版社出版,繁体中文版由台湾悦知文化出版



简体中文版


繁体中文版


本人因《大话设计模式》而获得51CTO网站主办的"2008年十大IT图书最佳原创作者奖" ;《大话设计模式》获互动出版网评选的2008年度十大畅销经典第4名;当当网计算机/网络类2008年度畅销榜第6名



简体中文版


繁体中文版
昵称:伍迷
园龄:5年5个月
荣誉:推荐博客
粉丝:669
关注:18

搜索

 

常用链接

随笔分类(165)

随笔档案(138)

相册

朋友

积分与排名

  • 积分 - 535943
  • 排名 - 107

最新评论

阅读排行榜

推荐排行榜