数据结构与算法分析

出版时间:2004-1-1  出版社:机械工业出版社  作者:Mark Allen Weiss (维斯)  页数:391  译者:冯舜玺  
Tag标签:无  

内容概要

书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。本书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。
  本书是《Data Structures and Algorithm Analysis in
C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen
Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。
  在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
  全书特点如下:
  ●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法
  ●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树
  ●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构
  ●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容
  ●合并了堆排序平均情况分析的一些新结果
  本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。

作者简介

Mark Allen
Weiss是佛罗里达国际大学计算机学院教授,普林斯顿大学计算机科学博士。除本书外,他编写的关于数据结构与算法方面的知名教材还有:Data
Structures and Algorithm Analysis:in Java, Data Structures and
Algonthm Analysis:in C++以及Data Structures and Pro

书籍目录

出版者的话
专家指导委员会
译者序
前言
第1章 引论
第2章 算法分析
第3章 表、栈和队列
第4章 树
第5章 散列
第6章 优先队列(堆)
第7章 排序
第8章 不相交集ADT
第9章 图论算法
第10章 算法设计技巧
第11章 摊还分析
第12章 高级数据结构及其实现
索引

编辑推荐

《数据结构与算法分析:C语言描述(原书第2版)》讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。可是,由于在输入量很大的时候,程序的低效率现象变得非常明显,因此这又要求对效率问题给予更仔细的关注。通过在实际编程之前对算法的分析,学生可以决定一个特定的解法是否可行。例如,学生在《数据结构与算法分析:C语言描述(原书第2版)》中将读到一些特定的问题并看到精心的实现方法是如何把对大量数据的时间限制从16年减至不到1秒的。因此,若无运行时间的阐释,就不会有算法和数据结构的提出。《数据结构与算法分析:C语言描述(原书第2版)》是国外数据结构与算法分析方在的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。《数据结构与算法分析:C语言描述(原书第2版)》的编写目标是同时廛授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。《数据结构与算法分析:C语言描述(原书第2版)》可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用《数据结构与算法分析:C语言描述(原书第2版)》需具有一些中级程序设计知识,还需要离散数学的一些背景知识。随着速度的不断提高和存储容量的持续增长,计算机的功能日益强大,从而处理数据和解决问题的规模和复杂程度与日俱增。这不仅带来了需要认真研究的新课题,而且突出了原有数据结构和算法效率低下的缺点。程序的效率问题不是由于计算机功能的强大而受到冷落,相反地,倒是被人们提到前所未有的重视程度,因为大型问题的解决所涉及到的大容量存储和高速度运算容不得我们对效率有丝毫的忽视。《数据结构与算法分析:C语言描述(原书第2版)》正是在阐述数据结构基本概念的同时深入地分析了算法的效率。

图书封面

图书标签Tags

评论、评分、阅读与下载


    数据结构与算法分析 PDF格式下载


用户评论 (总计169条)

 
 

  •   之所以选这本书,还因为它的简体中文版翻译得相当不错,几乎没有给我的阅读带来什么障碍这本教科书所使用的是C语言,也许很多人会说C语言已经过时了,但是,我认为在数据结构的学习中,应该用尽量简单的语言,以免进入了语言的细枝末节中,反而冲淡了主题。实际上在国外的许多大学中(甚至中学),数据结构和算法分析的课程是选用Scheme的,例如MIT麻省理工大学极其著名的SICP课程。书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。本书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。
  •   之所以选这本书,还因为它的简体中文版翻译得相当不错,几乎没有给我的阅读带来什么障碍 这本教科书所使用的是C语言,也许很多人会说C语言已经过时了,但是,我认为在数据结构的学习中,应该用尽量简单的语言,以免进入了语言的细枝末节中,反而冲淡了主题。实际上在国外的许多大学中(甚至中学),数据结构和算法分析的课程是选用Scheme的,例如MIT麻省理工大学极其著名的SICP课程。 书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。
  •   这本书可以算是物美价廉了,至少我这样认为。
    最近读了这本书,读到AVL树,在这个过程中,我最大的感悟就是:数据结构其实不能够单独地罗列出来讲,只有将数据结构和算法完美地融汇在一起,才能体现出二者的价值。
    数据结构重在它的选择,因为在实际应用中,数据结构的选择是重要的,选择的好坏可能会影响到应用程序的性能;而算法则注重在你所选择的数据结构上进行的设计,那么算法分析的价值也就体现出来了——性能,性能该如何评价,当然是算法执行的效率。
    本书开篇给出了这样的求子序列和的例子,采用渐进的设计思想不断优化算法,分析算法执行效率,感觉这个例子出现的位置及其所呈现的思想相当不错。同时,也让我们看到,如果一个算法的优化没有达到理论上的极限,它总能在你经过一定分析设计的基础上,使算法性能大幅度提升。
    对于如何消化掉这本书,我初步给出一个建议:
    读上本书三遍,能坚持下来,你的收获会很大:
    第一遍,通读本书,不要丢掉任何细节,这一遍下来至少不能对书中涉及到的内容存在疑问(如果适当结合课后的习题还是不错的,不过习题不是第一遍的重点);
    第二遍,照样通读本书,重点在于解决课后习题,我发现本书的课后习题绝对能让你学会思考并解决问题,提高你的问题解决能力与算法设计能力;
    第三遍,复习巩固,注重你的算法设计能力,不能给你一个问题,你去设计十天半个月,训练你的思维力与敏捷力。
  •   数据结构与算法分析:C语言描述,经典教材,程序猿的选择。
  •   数据结构与算法分析:C语言描述(原书第2版)
    只是书背面的封面给蹭破了,明显这是知道的,这样都发货过来!!诶,当当。。
  •   这本书从是站在很高的角度,张口闭口就是“计算机科学”,其实设计那些一般的小程序根本不用考虑那么多运行时间上的问题,初学者只要代码能通不把电脑搞爆就可以了,用不着分析代码还和写代码的时间一样长,何况这书是在国外九七年出的,当时电脑还很落后,他里面说一个要消耗1GB内存的算法是毫无用处的,实际上现在电脑几GB的内存比比皆是。当然如果你要应付极大的数据量和计算量可能就不得不考虑这些问题了。

    不过算法本身就是思路的问题,这本书本身的目的就是告诉你怎么实现的思路,而不是给你现成的可以调用的代码来套用,如果伪代码翻译成了问题只能说明你基础不够扎实,前言说了读者要有一定的程序设计基础的。
  •   作为数据结构与算法分析方面的经典著作,这本书相当的薄,但是内容却异常丰富,有能力的最好把所有源代码全部敲打一遍,那样子提高的速度是惊人的
  •   本书号称数据结构经典教材但理论性较强 书中代码很少 算法很多 不适合初学者
    建议编程能力较强的朋友购买 或是计算机专业研究生使用
    初学者还是看严蔚敏的书比较好
  •   嘛,我想想看这本书的人都是很有耐心的人吧。书讲的浅显易懂,但是个人认为,书中的C代码注释稍稍少了一点。不过没关系,因为都不长,认真看,很快就看懂了。准确地说,这本书其实主要还是在讲数据结构,算法分析只是轻轻的涉及了一点。大家去看《算法分析》就知道算法分析的恐怖了……
  •   里面详细描述了数据结构以及一些基本的算法分析,非常值得一看
  •   挺好的,买的教材。数据结构与算法分析:C语言描述
  •   这本书主要侧重讲解各种算法,在数据结构方面和离散数学近似相同。但是书中给出的C语言代码片段太多了!有时候要自己想办法把代码连起来才能编译
  •   程序=数据结构+算法。很重要。
  •   不错的一本书,基于c语言的数据结构和算法书不多了,而自己用的课本又很糟糕,所以买这本书,里面的一些例子很好~~
  •   学好数据结构与算法分析,对编程水平的提升有很大的帮助
  •   初步认识了数据结构与算法分析的概念!
  •   数据结构和算法本来就是一体的,这本书很好的做到了这一点,而且在数学论证和代码实现两方面都做得很好。
  •   这次一共购买了四本关于《数据结构与算法》方面的书,这本是我阅读次序排在第二位。当年也是以C语言描述来学习数据结构的,对之前的记忆虽然有些模糊了,就是因为模糊,所以再次阅读此类书籍来加深回忆。
  •   很多的中国的大学的数据结构或者算法方面的教材或者参考书里面的讲解的东西,很多都是仿照这本书的,可见本书的权威性和影响力!
  •   拿到书,大略翻了一下,讲得很细,算法很多,代码较少,不适合作为数据结构的第一本书。看了严蔚敏的再来学它,更有收获,理解上也更容易些。总的一句话,经典就是经典,不能不读!
  •   一个开电动三路车的老大爷,载着他的老妻和我的C语言数据结构算法,在路边向我招手,在这之前,我已经拒绝了他第一次过来时收获的请求,因为我当时不在那。书很好,人也很好。谢谢,这是在淘宝不能感受到的。
  •   之前都是电子版本,一直想买数据结构、算法这方面的书, 终于买了这一本, 正在看中。外国人写的书,就是比国人的严谨!
  •   数据结构和算法方面挺不错的一本值得参考的教材了。
  •   我决定从此书开始数据结构和算法~希望能成功!
  •   讲的有点深,不建议初学者看,等你数据结构入了门,看这本书和《算法导论》是个不错的选择!
  •   讲算法比较细致,只是需要一定的数据结构基础
  •   想深入学习数据结构与算法,对信息学奥赛有帮助
  •   数据结构和算法经典之作。
  •   物美价廉,比国内的数据结构、算法书写的好。
  •   学习数据结构和算法的不二选择,必读~
  •   对于学习数据结构和算法是很不错的~
  •   个人感觉比国内的数据结构、算法书写的好,讲的透彻
  •   非常喜欢,结合算法和数据结构写的很棒!
  •   用来复习算法与数据结构
  •   这门课程能够决定一个人程序设计水平的高低,是一门核心课程。很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下 C++的版的书是最好的。
  •   买这本书是因为在写一个五子棋博弈程序时需要用到alpha-beta算法,网上讲的不清楚。
    买回来后立即解决。
    书很好,不过翻译的人计算机水平可能有点差,“内存系统”被翻译成“簿记系统”……,无语
    还好不影响理解
  •   开篇第一章引论的第一节提出一个问题:
      
      “设有一组N个数而要确定其中第K个最大者”
      
      并给出两种解法
      
       全排序后返回K位置上的元素。平均复杂度O(NLogN)
      
       再建立一个临时数组,从N中读取K个数,全排序,然后依次读入其余N - K个数进来和第K名比较,大于K的值则插入到合适位置,只待循环完毕返回K位置元素。平均复杂度O(KLogK + (N - K))
      
      这两种方法在N=100万,K=50万时速度都尤其“漫长“,往往让人抓耳挠腮,作者讲叙到还有一种算法1秒钟就可以得出答案。该算法原理和快速排序一致,但只有一个方向的递归。平均复杂度O(N)。
      
      先选取一个中值元素(该中值是否合理将影响到算法效率),然后将大于等于该数的元素放到其左侧,小于该数的放到右侧,如7 4 6 8 0 -1 选取6作为中值元素,则结果应该为4 0 -1 6 8 7,接下来比较K值和现在的中值元素6所在索引(3),如何小于3,则只需在索引0~2间再进行递归操作继续选取第K名,大于3则在4~5中递归选取第K - 3名即可。还有一关键是该为递归中的数组长度选取一临界点,小于该临界则进行选择排序,插入排序即可,比如20以内。
      
      算法真是精妙,赶紧学习。
  •   这本书很好的讲解了C和算法分析。值得阅读
  •   和离散数学一起买的,现在在研读离散数学,回过头来再重温一下算法,这本书不算厚但内容不少,经典的书就需要细细的品
  •   比较经典的算法书。
    不过和很多计算机类的书一样,由于篇幅有限,有些内容不能完全覆盖。
    但至少覆盖到的内容是非常值得一看的。
  •   就是 内容偏向分析算法了,我本来是想学算法基础的。
  •   本书介绍的算法很实用。是一本不错的书
  •   书中包涵各类数据结构,基础的到高级的都有所介绍,其中没有国内同类书籍中介绍的“字符串”。
  •   两本书都很好,都是很经典的书,不过算法很难弄有待进一步学习
  •   价格不贵,内容非常值得一看,有详细的代码描述。和算法导论比,这本书更适合入门。
  •   物超所值。。。不得不读的书。看完之后可以看看算法导论。
  •   代码写的超级好,是我见过的数据结构方面的书中最好的。但可惜的是,图一章没有代码实现
  •   这本书,初期适合给初学者提供一个方向和提纲,对于有一定基础的人员来说,适合提升能力和个人技术和算法水平等。
  •   书的印刷质量不错,很清晰。算法的示例简洁、直观!很多算法例子非常实用,强烈推荐!!!
  •   这本书的性价比很高,与《算法导论》一起学习!
  •   即使你已经学过数据结构,你还是需要看看这本书,因为这本书中包含很多你以前了解但不深入的太多的知识,而且它们又是那么的使用。
  •   这本书的内容很好,讲的算法都很好,不过不太建议初学者使用。
  •   理论性较强 书中代码很少 算法很多
  •   倒霉的数据结构全英课,用的竟然是这本书的英文原版教材,这让我这类英语不行的人情何以堪!!幸亏买了这本中文书,不然以后的课怎么上啊。
  •   书不错,内容很好,是学习数据结构很好的教材,不过没有基础的还是先看看清华的那本吧
  •   比其他的算法书少了很多公式,多了很多跟代码结合的地方。
  •   经典读物,适合作为算法的查阅书目。讲得不是很详细,但算法的重点已经全部道出,适合每个经历过算法入门学习的人查阅使用。
  •   很好,对算法的讲解很到位,有助于提高编程的合理性
  •   很好的一本学习数据结构的书,这种书还得是看国外的,翻译的也还算不错
  •   原版翻译,是算法学习的优秀教材。
  •   这本书相比较学校的数据结构教材来说,更全面.适合想深入学习的人进阶用.
  •   这本书看完后,对数据结构知识有一个很好的复习效果。看完第一遍了,
    准备后些时候看第二遍。
  •   这本书绝对是一本好书,是我看过的最好的一本讲数据结构的书(纯属个人意见),虽然很久以前就学过了数据结构,但是还是想买一本回来翻翻,对自己绝对有好处。
  •   有难度,但对提高算法能力是巨大的
  •   书的内容很好,经典的数据结构(C语言)书;但是书的质量较差(书的纸质很薄)。
  •   当当到货就是快呀,而且书也很不错,比较适合作为数据结构的教材
  •   小孩要参加信息比赛,此书对算法描述很好,满分
  •   一定要读,里面的算法都很有用
  •   很好的数据结构的书,是正版的,纸质很不错
  •   在学校粗略的学了下数据结构,应付考试。再看这本书,有进阶的效果,经典。P.S.一定要好好学数学
  •   确实是本不错的讲解数据结构的书,有浅的内容,也有比较深的内容,适合比较有自学能力的OIer
  •   算法的学习是个慢慢积累的过程,唯有坚持
  •   将算法比较深刻,不适合初学者
  •   当时是一位学长推荐的,说是这本书的课后题目全部弄明白了可以秒杀一切的数据结构面试
  •   相当经典的书想学习数据结构的朋友可以一看
  •   数据结构的经典之作,看这样的书很有收获。
  •   不错的书,但不适合初学者,适合有学过《数据结构》的人看。
  •   学习数据结构的经典书籍,仔细研究中
  •   数据结构里比较基本的一本书
  •   需要有一定的数据结构基础,对于想巩固完善数据结构这块基础的人来说是不错的选择。
    如果是初学,建议还是严蔚敏的那本,上手会更快些
  •   不错的数据结构。要仔细的读,才可以冷略
  •   学数据结构的绝对经典,好书,讲得很深入!!
  •   适合有一定数学及数据结构基础的人学习
  •   数据结构的经典书籍,慢慢研究!
  •   老师推荐的,说是对于学习数据结构很有帮助
  •   我们学习数据结构就看它的,讲解挺详细的,中文翻译不错
  •   想把数据结构在好好看一遍
  •   以前看过其它的数据结构,都没有这本好
  •   比较适合初学数据结构者!
  •   是学习数据结构的好书
  •   学习数据结构的必备
  •   看了之后,对数据结构的学习有很大帮助.
  •   此书适合于学习了《C程序设计》的读者学习,很好的补充和描述了C语言,让我们更深入的学习C程序。不愧于“计算机科学丛书”,对编程感兴趣的学者来说,值得一读。
  •   代码不多,有一定程序设计基础的人实用,否则,伪代码翻译有一定困难
  •   结构内容很不错的一本书
  •   上大学的读过,后来在一次面试的时候发现连堆排序都不会了,于是又买了本书,再次读一下经典
  •   挺好的一本书,用c语言描述,国外经典教材,如果手头有清华那本也可以,这本书写的简洁明了,易于理解。
  •   说一句实在话,我感觉之所以外国人在计算机方面长于我们,就是因为人家教材写的好啊~~~咱们的教材说实在话,就是不愿意看,通篇的知识点,不知道从哪来,往哪走。
    总之啊~~~想学好编程的人啊~~~我感觉要买一本~~~一定会有所感悟的~~~~
  •   好久没来当当了,突然觉得买书还是要来当当。
    书到用时方恨少,只恨平生欢娱多。
    只是想找本与严蔚敏,吴伟民 版本不同的,因为国内的教材真的需要改革了,太晦涩,需要大量的精力去理解很多无用的甚至独创的定义。此书基本符合要求。
  •   速度很快!质量不错,内容全面,计算机专业的学生值得一看!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7