数据结构与算法

出版时间:2009-5  出版社:人民邮电出版社  作者:Michael McMillan  页数:260  译者:吕秀峰,崔睿  
Tag标签:无  

前言

在专业程序员的成长过程中,对于数据结构与算法的学习至关重要。虽然有许许多多关于数据结构与算法的书籍,但是这些书籍通常都是大学教材,并且是使用在大学里讲授的Java语言或C++语言编写的。C#言正在成为一种广受欢迎的编程语言,这本书旨在面向C#程序员介绍数据结构与算法的基础知识。C#言根植在一个功能非常丰富的.NET框架开发环境中。在.NET框架类库中包含有一套数据结构类(也称为群集类),这套类的范围广泛,从Array类、Array[,ist类牙llCollection类到Stack类和IlQueue类,再到HashTable类和lSortedList类。学习数据结构与算法的学生在学习如何实现它们之前可以先看看如何使用数据结构。以前,老师在构建完整的栈数据结构之前只能抽象地讲解栈的概念,而现在老师可以通过向学生们展示如何用栈执行一些计算(如数制之间的转换),立即展示数据结构的实用工具。有了这些知识后,学生可以在课后学习数据结构(或算法)的基本原理,甚至可以构造他们自己的实现。本书主要提供了对数据结构与算法的实用概述,这是所有计算机程序员们需要知道和了解的。基于这个原因,本书没有涵盖数据结构与算法的正规分析。因此,本书没有一个数学公式,也一次都没有提及大O分析(如果你不知道大O分析的含义,查看参考文献中提到的任何一本书都可以)。相反,本书把各种数据结构与算法作为求解问题的工具。书中讨论的数据结构与算法都用简单的时间测试进行了性能比较。

内容概要

 本书是在.NET框架下用C#语言实现数据结构和算法的第一本全面的参考书。本书介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,书中还提供了.NET框架类库中的C#语言实现的数据结构和算法。  本书适合作为C#数据结构课程的教材,同时也适合C#专业人士阅读。

作者简介

作者:(美国)Michael McMillan 译者:吕秀锋 崔睿

书籍目录

第1章 Collections类、泛型类和Timing类概述  1.1 群集的定义  1.2 群集的描述   1.2.1 直接存取群集   1.2.2 顺序存取群集   1.2.3 层次群集   1.2.4 组群集  1.3 CollectionBase类   1.3.1 用ArrayList实现Collection类   1.3.2 定义Collection类   1.3.3 实现Collection类  1.4 泛型编程  1.5 时间测试   1.5.1 一个简单化的时间测试   1.5.2 用于.NET环境的时间测试   1.5.3 Timing Test类  小结  练习 第2章 数组和ArrayList  2.1 数组基本概念   2.1.1 数组的声明和初始化   2.1.2 数组元素的设置和存取访问   2.1.3 检索数组元数据的方法和属性   2.1.4 多维数组   2.1.5 参数数组   2.1.6 锯齿状数组 2.2 ArrayList类   2.2.1 ArrayList类的成员   2.2.2 应用ArrayList类  小结  练习 第3章 基础排序算法  3.1 排序算法   3.1.1 数组类测试环境   3.1.2 冒泡排序   3.1.3 检验排序过程   3.1.4 选择排序   3.1.5 插入排序  3.2 基础排序算法的时间比较  小结  练习 第4章 基础查找算法  4.1 顺序查找   4.1.1 查找最小值和最大值   4.1.2 自组织数据加快顺序查找速度  4.2 二叉查找算法  4.3 递归二叉查找算法  小结  练习 第5章 栈和队列  5.1 栈、栈的实现以及Stack类   5.1.1 栈的操作   5.1.2 Stack类的实现  5.2 Stack类   5.2.1 Stack构造器方法   5.2.2 主要的栈操作   5.2.3 Peek方法   5.2.4 Clear方法   5.2.5 Contains方法   5.2.6 CopyTo方法和ToArray方法   5.2.7 Stack类的实例:十进制向多种进制的转换  5.3 队列、Queue类以及Queue类的实现   5.3.1 队列的操作   5.3.2 Queue的实现   5.3.3 Queue类:实例应用   5.3.4 用队列排序数据   5.3.5 源自Queue类的优先队列  小结  练习 第6章 BitArray类  6.1 激发的问题  6.2 位和位操作   6.2.1 二进制数制系统   6.2.2 处理二进制数:按位运算符和移位运算符  6.3 按位运算符的应用  6.4 整数转换成二进制形式的应用程序  6.5 移位的示例应用程序  6.6 BitArray类   6.6.1 使用BitArray类   6.6.2 更多BitArray类的方法和属性  6.7 用BitArray来编写埃拉托斯特尼筛法  6.8 BitArray与数组在埃拉托斯特尼筛法上的比较  小结  练习 第7章 字符串、String类和StringBuilder类第8章 模式匹配和文本处理第9章 构建字典:DictionaryBase类和SortedList类第10章 散列和Hashtable类第11章 链表 第12章 二叉树和二叉查找树第13章 集合 第14章 高级排序算法 第15章 用于查找的高级数据结构和算法第16章 图和图的算法第17章 高级算法 参考文献 索引

章节摘录

插图:第1章 Collections类、泛型类和Timing类概述本书采用c#语言来讨论数据结构与算法的开发和实现。书中用到的数据结构都可以在.NET框架类库System.Collections中找到。本章会逐步展开群集的概念,首先讨论自身特有的collection类的实现(采用数组作为我们实现的基础),接着会介绍.NET框架中Collection类的内容。泛型是c#语言2.0版新增加的一个重要补充,它允许C#程序员可以独立地或者在一个类中编写函数的某一个版本,而且不需要为了不同的数据类型而多次重载此函数。c#言2.0版还为几种system.Collections数据结构实现泛型提供了一个专门的库System.Collections.Generic。本章将向读者介绍泛型编程。本章最后会介绍一种用户定制的类——Timing类,后续的几个章节将会用它来衡量数据结构与/或算法的性能。这个类将取代大O分析法,这不是因为大O分析法不重要,而是因为本书采取了一种更为实用的方法来分析数据结构与算法。1.1 群集的定义群集(Collection)是一种结构化的数据类型,它存储数据并且提供数据向/从群集中添加、删除和更新操作,以及对群集的不同属性值的设置与返回操作。群集分为线性群集和非线性群集。线性群集是一张元素列表,表中的元素顺次相连。线性群集中的元素通常由位置来决定次序(例如,第一个元素、第二个元素、第三个元素,依此类推)。在现实世界中,购物清单就是很好的线性群集实例,而在计算机中(当然这也是真实世界)则把数组设计成线性群集。

媒体关注与评论

“这是一本绝佳的介绍C#语言数据结构的优秀著作,对于数据结构课程极具价值!”  ——CHOICE杂志

编辑推荐

随着.NET框架的广泛应用,C#已经成为最受欢迎的程序设计语言之一。但是,市面上尚无用C#语言讲述数据结构和算法的图书,广大C#程序员不得不将自 己转换C++或Java描述的数据结构,费时费力,而且容易出错。《数据结构与算法C#语言描述》填补了这一空白。而且更加难能可贵的是,作者基于自己多年的教学和实践经验,从开发实战出发,采用了一种与一般数据结构图书不同的讲解方式:充分利 用.NET框架中现成的数据结构类,先讲述各种数据结构怎么在开发中选用,怎样用来解决实际问题,在有了感性认识之后,再深入研究如何实现;同时,用更加 实用的时间测试方法代替常规的大O表示法来分析算法性能,避免了复杂的数学推导。书中除涵盖了数组、广义表、链表、散列表、树、图、排序、搜索等常规数据 结构和算法外,还讨论了概率和动态规划等方面的高级算法。中文版对原书的代码进行了全面的调试,改正了不少原版存在的问题,保证了代码的质量和技术内容的准确性。《数据结构与算法C#语言描述》是C#程序员不可或缺的实用参考书,也适合作为应用型高校相关专业.NET平台开发课程的教材。

图书封面

图书标签Tags

评论、评分、阅读与下载


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


用户评论 (总计72条)

 
 

  •   对过去读过数据结构的人来说,看起来很顺。优先使用.net框架提供的函数和方法,它们的运行速度,无论如何也比书上教你的算法快(书上就是这么写的);但书还是提供了你很多细节,这些细节,我过去没有从网上搜到过,所以仍有看这本书的必要。
  •   此书非常不错,用代码代阐述了c#中数据结构的实现,与大学的教课书相比少了数学推倒。
  •   最近在看数据结构,发现C#描述语言不错,就仔细看下去,发现是个好东西,建议有兴趣的朋友,仔细阅读,大有裨益的。
  •   不光介绍数据结构,更重要的是告诉你如果去和c#中响应的类结合使用并有丰富的可执行的例子
  •   比学校自编的C#数据结构教材好太多了
  •   很好看 对学习算法很有帮助
  •   实际工作可用的C#数据结构图书
  •   C的数据结构学完之后,开始学C#了,感觉很不错
  •   书很好,很实用。是高级程序员进阶的好帮手。
  •   我买了这本书很不错,但是自己看着很吃力。有些地方也搞不明白。后来我在猎豹网校看有教这门课程的,试听了下感觉很不错,讲的很清楚,原来看书很不懂的地方,就一下子明白了。如果谁需要也可以去猎豹网校试听一 下,分享给大家。
  •   不错的书,值得C#程序员看,强烈推荐
  •   比较适合实际应用的一本书,看了很有收获,期待继续细看发现惊喜
  •   发货速度快!书的内容与质量都不错.
  •   书很好!正在研究中……
  •   里面讲解人知识点, 还不错, 要是能再深入一点就好了
  •   目前还在研究中,但书的内容确实很好。
  •   不错的书吧,给女朋友看的,但是她还没看

    我用java的,翻了一下,感觉不错
  •   内容丰富,知识点全面,简单明了!
  •   很系统很全面,就是有点难,希望对自己有帮助。
  •   通向高级C#的必读书籍!
  •   需要慢慢阅读,等待
  •   觉得很好,收货很方便
  •   很好很好啊啊啊
  •   c#一定要看看很不错的
  •   不错,
    用得着
  •   买了没看多少
  •   呃,我没学到多少东西,希望能帮助更多人把,编程什么的实在不通
  •   这本书,虽然比起传统的那些数据结构的书来说,算法的内容略嫌少了点,但这本书有个好处,就是充分展示了C#语言与算法的结合,而且,都有具体的实现代码,很适合作为学完C#之后想进一步提高自己算法能力水平的人看。
  •   书刚拿到手,简单翻了一下。要学习数据结构,此书不能作为入门级,须对数据结构有一定的了解方可阅读。之所以买这本书,主要原因是,现在c#很火,基于c#的数据结构应该看看,虽然数据结构原理都一样,但是我想说的是,c#是封装很好的语言,其中很多常用的数据结构已经封装好了,对于有一定编程经验的人来说,最重要的是如何运用这些。而这本书,就是介绍了c#封装好的数据结构,以及c#一些独有的数据结构。就像c++中,vector,list,deque,queue,stack,map等。
  •   个别算法讲的比较清楚,不过部分分析不够彻底,有些内容很含糊。
  •   书中的代码错误实在忒多,不是有一定水平的人就不要买了。
  •   很好的书,对中级程序员有一定的帮助
  •   书还没看,先评论一下
  •   翻译问题~~~书还可以~~
  •   这本书还不错,不过翻译得不是很好!有些专业术语翻译得不够确切!
  •   C#这方面的书比较少,值得看看
  •   还不错。在学习中。
  •   学习中,结合C#比较好理解
  •   大体扫了一下,内容还可以
  •   书面有点脏,还有不少胶,总体还可以。
  •   发货还及时
  •   买回来没怎么看,看了一点,写的很详细
  •   这本书只是把数据结构用C#代码简单表述了一遍,没啥新意,算法也比较老套
  •   书还可以,就是有些东西太简单了。不过对于巩固知识的积累还是不错。
    也很少看到C#版的数据结构和算法,所以还是值得看的。
  •   也许原著写得很好,但是翻译水平很一般。代码写的都不太清楚,或者不完全,而且其中还有很多错误,看起来比较麻烦。不适合初学者,有一定经验,擅长使用C#但不熟悉C,并希望在数据结构方面有所提高的人,看看倒也无妨。给我送过来的基本上是本8成新的书,很多页角被折,背面封皮也被狠狠折了一下。尤其值得一提的是送书的那位兄弟,毫不夸张的说,浑身脏的像刚从垃圾堆里爬出来一样,手上全是泥,指甲漆黑,好像刚扒过煤堆。经常在当当买书,第一次遇到这样的人送书。接过来第一件事就是吧塑料皮拆开扔掉,然后洗手。。。希望当当在快递方面除了保证速度,也注意一下卫生。
  •   这本书翻译的确实很差,术语跟其他同类的书有出入,书太薄以至于讲解的并不详细,没有类似概念的人,看懂还是比较难的,还如不学习下C的数据结构,感觉又是一本骗银子的书~
  •   这本书虽说和C#语言联系的比较紧密,也充分说明了C#语言中已经实现的一些结构,对刚学习C#的来说还是不错的,但要想深入的学习,个人建议这本书并不适合。
  •   想看看C#算法的,只看到本书了,写的很普通,没有太多精彩的部分,有点失望吧!!!!
  •   帮室友带的,他是点名要这书,看来是很经典啦
  •   正在阅读中 感觉很一般,,,,
  •   为什么我买的这本书没有光盘?????
  •   内容大致看了一下,还不错。就是实例有点少了。
  •   内容编排一般。。。
  •   等待阅读~~等待阅读~~等待阅读~~
  •   翻译的不清楚~~~可能想为了省一下纸张吧~~~
  •   书中错误很多,翻译得太烂,程序代码中有许多错误,实在不敢恭维翻译者的耐心和水平!
  •   书中的错误基本达到每几页就有一个。我调试代码的时候痛苦不堪,刚开始我根本没有理解作者的良苦用心,大量的代码错误使得我在debug的时候的改了许多地方,因此对数据结构的掌握更上一层,从这个角度来看,作者的确是用心良苦。故意弄出这么多错误还有编辑,也是非常从大义出发,纵容了这么多错误最后感谢引进的人,看到这么多错已然引进,这种不拘一格的开明思想17届六种全会倡导所倡导的,这也是引进人员与时俱进的表现吧。有鉴于此,我本来想给1星,但是也从大义出发,给了两个星
  •   书不错,就是错误多了点
  •   C# 描述 数据结构和算法的书 实在太少了 正准备学习中......
  •   我对亚马逊的服务很满意。比X东要好。我买了三本书,三天就到了。去取快件,发现包裹里还有泡沫,估计是为了书损坏弄得,很贴心,很喜欢。赞一个!
  •   后来买过一些其它的算法书,感觉这本要难懂一些,看评论原来翻译很烂.之前都没注意.觉得难懂就扔那了~~后悔~~
  •   这本书讲解的还是不错的 主要是用C#实现的,所以比较容易懂,
  •   学校推荐用书,还没看,应该不错
  •   我就买来翻了两页。哎
  •   感觉一般吧。等看完再说。
  •   介绍的内容 把所有C#包含的数据处理都囊括了
  •   非常实用的一本书,不用转化以前学过的数据结构与算法了
  •   不错,就是里面的错误有点明显
  •   比较全面,浅显易懂。很经典。
  •   质量也可以,非常喜欢的啊
  •   慢慢阅读,对编程挺有用
  •   数据结构…算法
 

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

京ICP备13047387号-7