词条 | 数据抽象和问题求解:Java语言描述 |
释义 | 图书信息出版社: 清华大学出版社; 第1版 (2007年5月1日) 外文书名: Data Abstraction & Problem Solving with Java WALLS & MIRRORS 2nd Edition 丛书名: 国外经典教材·计算机科学与技术 平装: 700页 正文语种: 简体中文 开本: 16 ISBN: 7302149399, 9787302149392 条形码: 9787302149392 尺寸: 26 x 18.7 x 2.8 cm 重量: 1.1 Kg 作者简介作者:(美国)卡拉诺 (Frank M.Carrano) (美国)普里查德 (Janet J.Prichard) 译者:郭平 张敏 作者简介 Frank M.Carrano,Syracuse大学博士毕业,现任Rhode Island大学计算机科学系教授。主要研究方向为数据抽象技术、教育软件及多媒体技术。曾编写多本计算机书籍,如tOProblem Solving and DataAbstraction with C++;Walls andMirrors,Intermediate Problem Solving andData Structures:WallsandMirrors等. Janet J.Prichard,Rhode Island大学博士毕业,现任Bryant大学计算机科学系副教授,具有15年程序设计课程的教学经验。主要研究方向为实时数据库与Web技术。 译者简介 郭平,湖南大学硕士。一直从事计算机网络与通信、高级程序设计、网络系统安全方面的教学、科研和开发工作;取得多项科研、学术成果,在核心期刊、国际国内会议卜发表论文30余篇。编著出版教材和译著5本,获军队科技进步奖励3项。卡要研究领域为计算机网络系统设计、网络性能分析、Web应用系统。 张敏,华中理工大学硕士,高级网络系统管理员。一直从事计算机网络系统与应用、高级程序设计与网络系统安全等方面的教学、科研和开发工作;取得多项科研,学术成果,在核心期刊、国际闲内会议上发表论文10余篇。主要研究领域为计算机网络应用系统、网络办公系统、Web应川系统。 内容简介《数据抽象和问题求解-Java语言描述》全面系统地讲述了如何利用Java语言解决实际问题,重点剖析了数据结构和数据抽象的核心概念,并通过大量示例向读者展示了面向对象程序设计理念的精髓。《数据抽象和问题求解-Java语言描述》在第1版的基础上完善了所有的Java代码,使用UML处理了所有伪代码,通过准确的概念讲解、贴切的示例和范围广泛的问题讨论,使老师和学生的教与学都变得轻松自如。《数据抽象和问题求解-Java语言描述》能够使读者系统地掌握问题求解技术和相关的编程技能,为日后的软件开发工作打下坚实的基础。 《数据抽象和问题求解-Java语言描述》表述严谨、推理缜密,适合作为计算机及相关专业本科学生的教材,也是一本技术含量很高的专业参考书。 目录第I部分问题求解技术 第1章Java编程基础 1.1程序结构 1.1.1包 1.1.2类 1.1.3数据字段 1.1.4方法 1.1.5对象成员的访问方法 1.2Java基础知识 1.2.1注释 1.2.2标识符和关键字 1.2.3变量 1.2.4基本数据类型 1.2.5引用 1.2.6字面常量 1.2.7命名常量 1.2.8赋值和表达式 1.2.9数组 1.3分支结构 1.3.1if语句 1.3.2switch语句 1.4循环结构 1.4.1while语句 1.4.2for语句 1.4.3do语句 1.5有用的Java类 1.5.1Object类 1.5.2字符串类 1.6Java异常 1.6.1捕获异常 1.6.2抛出异常 1.7文本输入和输出 1.7.1输入 1.7.2输出 1.8文件输入和输出 1.8.1文本文件 1.8.2对象串行化 1.9小结 1.10提示 第2章编程原理与软件工程 2.1问题求解与软件工程 2.1.1问题求解的含义 2.1.2软件的生命周期 2.1.3优秀的解决方案 2.2面向对象设计 2.2.1抽象与信息隐藏 2.2.2面向对象的设计 2.2.3功能分解 2.2.4一般设计原则 2.2.5使用UML为面向对象的设计建模 2.2.6面向对象方式的优点 2.3关键编程问题 2.3.1模块化 2.3.2可修改性 2.3.3易用性 2.3.4防故障编程 2.3.5风格 2.3.6调试 2.4小结 2.5提示 2.6自我测试题 2.7练习题 2.8编程问题 第3章递归:镜子 3.1递归解决方案 3.1.1递归值方法:n的阶乘 3.1.2递归void方法:逆置字符串 3.2计数 3.2.1兔子繁殖(Fibonacci序列) 3.2.2组织游行队伍 3.2.3Spock的困惑 3.3数组查找 3.3.1查找数组的最大项 3.3.2二叉查找 3.3.3查找数组中的第k个最小项 3.4组织数据 3.5递归与效率 3.6小结 3.7提示 3.8自我测试题 3.9练习题 3.10编程问题 第4章数据抽象:墙 4.1抽象数据类型 4.2指定ADT 4.2.1ADT列表 4.2.2ADT有序表 4.2.3设计ADT 4.2.4公理(可选) 4.3实现ADT 4.3.1Java类 4.3.2Java接口 4.3.3Java包 4.3.4基于数组的ADT列表的实现 4.4小结 4.5提示 4.6自我测试题 4.7练习题 4.8编程问题 第5章链表 5.1预备知识 5.1.1对象引用 5.1.2变长数组 5.1.3基于引用的链表 5.2链表编程 5.2.1显示链表的内容 5.2.2从链表中删除指定的节点 5.2.3在链表的指定位置插入节点 5.2.4ADT列表的基于引用的实现 5.2.5比较基于数组的实现和基于引用的实现 5.2.6将链表传给方法 5.2.7递归地处理链表 5.3链表的各种变体 5.3.1尾引用 5.3.2循环链表 5.3.3虚拟头节点 5.3.4双向链表 5.4清单应用程序 5.5Java集合框架 5.5.1泛型 5.5.2迭代器 5.5.3JCF的List接口 5.6小结 5.7提示 5.8自我测试题 5.9练习题 5.10编程问题 第Ⅱ部分使用抽象数据 类型解决问题 第6章递归问题求解技术 6.1回溯 6.2定义语言 6.2.1语法知识基础 6.2.2两种简单语言 6.2.3代数表达式 6.3递归和数学归纳法的关系 6.3.1factorial递归算法的正确性 6.3.2Hanoi塔的成本 6.4小结 6.5提示 6.6自我测试题 6.7练习题 6.8编程问题 第7章栈 7.1ADT栈 7.2ADT栈的简单应用 7.2.1检查括号匹配 7.2.2识别语言中的字符串 7.3ADT栈的实现 7.3.1ADT栈的基于数组的实现 7.3.2ADT栈的基于引用的实现 7.3.3使用ADT列表的实现 7.3.4各种实现的比较 7.3.5JCF的Stack类 7.4应用:代数表达式 7.4.1计算后缀表达式 7.4.2将中缀表达式转换为后缀表达式 7.5应用:查找问题 7.5.1使用栈的非递归解决方案 7.5.2递归解决方案 7.6栈和递归的关系 7.7小结 7.8提示 7.9自我测试题 7.10练习题 7.11编程问题 第8章队列 8.1ADT队列 8.2ADT队列的简单应用 8.2.1读取字符串 8.2.2识别回文 8.3实现ADT队列 8.3.1基于引用的实现 8.3.2基于数组的实现 8.3.3使用ADT列表的实现 8.3.4JCF接口Queue 8.3.5比较实现 8.4基于位置的ADT总览 8.5模拟应用 8.6小结 8.7提示 8.8自我测试题 8.9练习题 8.10编程问题 第9章高级Java主题 9.1继承 9.1.1Java访问修饰符 9.1.2is-a和has-a关系 9.2动态绑定和抽象类 9.2.1抽象类 9.2.2Java接口 9.3ADT列表和有序表 9.4Java泛型 9.4.1泛型类 9.4.2泛型通配符 9.4.3泛型类和继承 9.4.4类List的泛型实现 9.4.5泛型方法 9.5迭代器 9.6小结 9.7提示 9.8自我测试题 9.9练习题 9.10编程问题 第10章算法的效率和排序 10.1确定算法的效率 10.1.1算法的执行时间 10.1.2算法增率 10.1.3数量阶分析和大O表示法 10.1.4正确分析问题 10.1.5查找算法的效率 10.2排序算法及其效率 10.2.1选择排序 10.2.2冒泡排序 10.2.3插入排序 10.2.4归并排序 10.2.5快速排序 10.2.6基数排序 10.2.7各种排序算法的比较 10.2.8JCF的排序算法 10.3小结 10.4提示 10.5自我测试题 10.6练习题 10.7编程问题 第11章树 11.1术语 11.2ADT二叉树 11.2.1ADT二叉树的基本操作 11.2.2ADT二叉树的一般操作 11.2.3二叉树的遍历 11.2.4二叉树的表示 11.2.5ADT二叉树的基于引用的实现 11.2.6使用迭代器遍历树 11.3ADT二叉查找树 11.3.1ADT二叉查找树操作的算法 11.3.2ADT二叉查找树的基于引用的实现 11.3.3二叉查找树操作的效率 11.3.4树排序 11.3.5将二叉查找树保存到文件中 11.3.6JCF的二叉树查找算法 11.4一般树 11.5小结 11.6提示 11.7自我测试题 11.8练习题 11.9编程问题 第12章表和优先队列 12.1ADT表 12.1.1选择实现 12.1.2ADT表的基于数组的有序实现 12.1.3ADT表的基于二叉查找树的实现 12.2ADT优先队列: ADT表的变体 12.2.1堆 12.2.2ADT优先队列的堆实现 12.2.3堆排序 12.3JCF中的表和优先队列 12.3.1JCF的Map接口 12.3.2JCF的Set接口 12.3.3JCF的PriorityQueue类 12.4小结 12.5提示 12.6自我测试题 12.7练习题 12.8编程问题 第13章表的高级实现方案 13.1平衡查找树 13.1.12-3树 13.1.22-3-4树 13.1.3红-黑树 13.1.4AVL树 13.2散列 13.2.1散列函数 13.2.2解决冲突 13.2.3散列效率 13.2.4如何确立散列函数 13.2.5表遍历:散列的低效操作 13.2.6JCF的Hashtable 和TreeMap类 13.2.7Hashtable类 13.2.8TreeMap类 13.3按多种形式组织数据 13.4小结 13.5提示 13.6自我测试题 13.7练习题 13.8编程问题 第14章图 14.1术语 14.2将图作为ADT 14.2.1实现图 14.2.2用JCF实现Graph类 14.3图的遍历 14.3.1深度优先查找 14.3.2广度优先查找 14.3.3用JCF实现BFS迭代器类 14.4图的应用 14.4.1拓扑排序 14.4.2生成树 14.4.3最小生成树 14.4.4最短路径 14.4.5回路 14.4.6一些复杂问题 14.5小结 14.6提示 14.7自我测试题 14.8练习题 14.9编程问题 第15章外部方法 15.1了解外部存储 15.2排序外部文件的数据 15.3外部表 15.3.1确定外部文件的索引 15.3.2外部散列 15.3.3B-树 15.3.4遍历 15.3.5多索引 15.4小结 15.5提示 15.6自我测试题 15.7练习题 15.8编程练习 附录AJava与C++的区别 附录BUnicode字符代码 附录CJava资源 附录D数学归纳法 附录EJava操作符 附录F术语表 附录G自我测试题答案 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。