Java语言程序设计 进阶篇(原书第6版)

分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: (美)梁著,万波等译
出 版 社: 机械工业出版社
出版时间: 2008-6-1字数:版次: 1页数: 519印刷时间: 2008/06/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111234821包装: 平装编辑推荐
本书是Java语言的经典教材,畅销多年不衰。本书全面整合了Java 5的特性,采用“先讲基础”的教学方式,循序渐进地介绍了程序设计基础、问题解决、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等。另外,本书还全面且深入地覆盖了一些高级主题,包括数据结构、并发、网络、国际化、高级GUI、Web程序设计等。
本书特点:基础篇介绍基础内容,进阶篇介绍高级内容,教师可以按需选择理想的教材。全面整合了Java 5的特性,并对全书的内容进行了修订和更新,以反映Java程序设计方面的最新技术发展。提供面向对象程序设计的深入论述,包含GUl程序设计的基础和扩展实例。提供大量实例,实例中都包括问题求解的详细步骤。提供大量难易程度不同的习题,在作者的网站httP://WWW.CS.armstrOng.edu/liang/intro6e/index.html中还提供了1000多道自测题。
内容简介
本书是Java语言的经典教材,中文版分为《Java语言程序设计基础篇》和《Java语言程序设计进阶篇》。基础篇从Java语言的特点人手,介绍了语法结构、面向对象程序设计基础知识到面向对象程序设计、图形用户界面设计.异常处理、二进制I/O和递归等内容。进阶篇主要介绍数据结构、高级GUI设计、多线程、集合构架、网络和web程序设计、算法效率和排序、MVC,以及高级Java数据库程序设计等方面的内容,循序渐进,可读性强。全书分八篇,以示例讲解解决问题的技巧,提供大量的程序清单和相应的提示,每章配有大量复习题和难易程度不同的编程习题,帮助读者掌握编程技术,并应用所学的技术解决实际应用程序开发中遇到的问题。
本书可作为高等院校相关专业程序设计课程的教材,对软件开发人员也有很高的参考价值。
作者简介
梁,普度大学终身教授,阿姆斯特朗亚特兰大州教程在美国大学JAVA课程中采用率最高,同时他还兼任Prentice hall java系列丛书的编辑。
目录
出版者的话
译者序
前言
第5篇 数据结构
第20章 线性表、堆栈、队列、树和堆
20.1 引言
20.2 线性表
20.2.1 数组线性表
20.2.2 链表
20.3 栈和队列
20.4 二叉树
20.4.1 二叉树的表示
20.4.2 在二叉查找树中插入元素
20.4.3 二又树的遍历
20.4.4 二叉树的类
20.5 堆
20.5.1 堆的表示
20.5.2 删除根结点
20.5.3 添加一个新结点
20.5.4 Heap类
20.6优先队列
第21章 泛型
第22章 Java集合架构
第23章 算法效率和排序
第6篇 并发、网络和国际化
第24章 多线程
第25章 网络
第26章 国际化
第7篇 高级图形用户界面程序设计
第27章 JavaBeans和Bean事件
第28章 容器、布局管理器和边框
第29章 菜单、工具栏、对话框和内部框架
第30章 MVC和Swing模型
第31章 JTable和JTree
第8篇 Web程序设计
第32章 Java数据库程序设计
第33章 高级Java数据库程序设计
第34章 Servlet
第35章 JSP
第36章 远程方法调用
附录
书摘插图
第5篇 数据结构
第20章 线性表、堆栈、队列、树和堆
学习目标
•描述什么是数据结构(20.1节)。
•说明数组的局限性(20.1节)。
•使用数组设计并实现动态线性表(20.2.1节)。
•用链表结构设计并实现动态线性表(20.2.2节)。
•用数组线性表设计并实现堆栈(20.3节)。
•用链表设计并实现队列(20.3节)。
•二叉查找树的设计与实现(20.4节,可选)。
•堆的设计与实现(20.5节,可选)。
•优先队列的设计与实现(20.6节,可选)。
20.1引言
数据结构是按某种方式组织的数据集合。数据结构不仅存储数据,而且支持处理该结构中数据的访问与操作。例如,数组是一种顺序组织的数据结构。我们可以获取数组的大小,可以存储、检索和修改数组中的数据。数组简单易用,但是它有两个局限:(1)数组一旦创建,它的大小就无法改变;(2)数组不提供适当地插入与删除操作。在本章中,将介绍在运行时可以扩展和缩小的动态数据结构。9.9节介绍的ArrayList就是动态数据结构的例子。我们之前曾使用过这个类,本章将学习如何对其进行设计与实现。
本章将介绍线性表、堆栈、队列、二叉树和堆等五种经典的动态数据结构。线性表(1ist)是一个顺序存储的数据集合,它支持在表中任何位置进行插入和删除操作。堆栈(stack)可以看做是一种特殊的线性表,它只允许在线性表的一端进行插入和删除操作,这一端通常称为堆栈的栈顶(top)。队列(queue)表示一个排队等候的队伍,它允许在队伍的后端进行插入操作(这一湍也称为队尾),在队伍的前端进行删除操作(这一端也称为队首)。二叉树(binary tree)是一种能够有效地进行数据的查找、排序、插入和删除等操作的数据结构。堆(heap)是一种可用于开发有效排序和优先队列算法的数据结构。
……