数据结构与算法分析
出版信息
Frank.M.Carrano / 金名 / 清华大学出版社 / 2007-11 / 98.00元
内容简介
“数据结构”是计算机专业的基础与核心课程之一,Java是现今一种热门的语言。本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。它不是从基于另一种程序设计语言的数据结构教材简单地“改编”而来的,因此在数据结构的实现上更加“地道”地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。
本书是为数据结构入门课程(通常课号是CS-2)而编写的教材。作者Frank Carrano在编写过程自始至终特别考虑到了Java与对象,为教师和学生提供了一种精心设计并经过教学实验的方式借助Java讲授ADT和对象。本书独特的设计将内容组织为相对较短的章。这种方式使学习更容易,并留出了教学的机动性。本书教给学生如何使用线性表、词典、栈、队列等等来组织数据。利用这些数据组织方式,学生们将学到算法设计的相关技术。书中的“编程提示”给读者额外的编程建议;大量的插图使讲解更形象生动;自测题贯穿各章,书末还给出了答案。本书适合作为数据结构的教学用书。
本书还提供了丰富的教辅材料,内容包括PPT、源代码、实验手册与实验解答、练习解答和项目设计解答等,非常适合作为数据结构的教学用书。
【本书特点】
31个相对短的章可以按各种顺序阅读。
单独但相关的章将ADT的说明与实现分开。
用很多例子说明新的概念。
突出的“注”强调了关键的内容并提供补充注释。
“编程提示”给出附加的编程建议。
大量的插图使讲解更形象,更易于理解。
贯穿全书的自测题及其答案均是根据本书内容精心制作的。
前几章的内容覆盖了Java类、继承、多态性及类的设计。
Java代码包含javadoc注释。
附录复习了Java基础、异常、文件及文档。
为教师提供了丰富的教辅材料,包括PowerPoint幻灯片、实验手册和解答,以及部分练习与项目设计的答案。
目录
第0章 引言第1章 Java类第2章 从已有类到创建新类第3章 类的设计第4章 线性表第5章 用数组实现线性表第6章 用链表实现线性表第7章 完成线性的链表现第8章 迭代器第9章 算法的效率第10章 递归第11章 排序入门第12章 快速排序算法第13章 有序表第14章 继承与线性表第15章 可变对象、不可变对象与可克隆对象第16章 查找第17章 词典第18章 词典的实现第19章 散列概述 第20章 用散列实现词典第21章 栈第22章 栈的实现第23章 队列、双端队列与估先队列第24章 队列、双端队列与估先队列的实现第25章 树第26章 树的实现第27章 二叉查找树的实现第28章 堆的实现第29章 平衡查找树第30章 图第31章 图的实现附录A Java基础附录B 异常处理附录C 文件输入与输出附录D 文件与程序设计风格附录E 自测题答案