• JAVA面向对象数据结构完全学习教程
21年品牌 40万+商家 超1.5亿件商品

JAVA面向对象数据结构完全学习教程

正版保障 假一赔十 可开发票

69.42 5.0折 139 全新

库存4件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)内尔?黛尔、(美)丹尼尔?T?乔伊斯、(美)奇普?威姆斯著、王金菊、金笔佳 文译

出版社中国青年出版社

ISBN9787515355252

出版时间2019-07

装帧平装

开本16开

定价139元

货号27918196

上书时间2024-10-26

兴文书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
导语摘要

本书主要介绍传统的和现代的数据结构方面的知识,重点介绍问题的解决和软件的设计。从基础知识开始并贯穿全书,介绍并扩展了许多功能的应用,如类、对象、泛型、多态、包、接口、库中的类、继承、异常和线程等。我们还在整个讲解过程中使用统一建模语言()类图来帮助建模并可视化对象、类、接口、应用程序及其相互关系。

关于基础知识的整理。综述面向对象,强调了组织对象和类的机制。

介绍了抽象数据类型栈(),引入了抽象数据类型()的概念。

讨论了递归(),演示了如何使用递归解决编程问题。

介绍了抽象数据类型队列()。

对抽象数据类型集合进行了定义。

介绍了一个更具体的抽象数据类型—集合。

介绍了二叉搜索树抽象数据类型。

讲了映射()抽象数据类型,映射抽象数据类型也叫符号表、字典或关联数组。

介绍了优先级队列抽象数据类型,它与队列密切相关,但具有不同的访问协议。

讲了图()抽象数据类型,包括实现方法和数种有关图的重要算法(深度优先搜索、广度优先搜索、路径存在与否、*短路径和连通分量)。

介绍回顾了一些排序和查找算法。



作者简介
美]内尔·黛尔


得克萨斯大学奥斯汀分校计算机科学博士。她自年以来,一直在得克萨斯大学奥斯汀分校任教,同时专注于计算机科学教育、写作。出版或参与出版过的专著有《


》《》《》等。


美]奇普·威姆斯


美国马萨诸塞大学阿默斯特分校计算机科学专业副教授。在过去的多年中,他教授了入门编程、软件工程、计算机体系结构和并行处理等课程。自年以来,他与其他人合作编写了本教科书,帮助多万学生学习计算机编程。他的书已被译成法语、西班牙语和俄语。现在,他从事计算机体系结构、编译器、并行处理和编译器体系结构协同优化方面的研


究。出版或参与出版的专著有《》《》《》《》等。


美]丹尼尔··乔伊斯


美国维拉诺瓦大学计算机科学系的副教授。乔伊斯的研究兴趣是软件工程,重点是软件需求识别。此外,他还活跃于计算机科学教育界。



目录
知识整理


类、对象和应用程序






组织类




异常




数据结构





基本结构化机制





算法比较:增长阶分析









小结


习题



抽象数据类型—栈


抽象






接口






集合元素



栈接口





基于数组的栈实现





应用程序:平衡表达式





链表





基于链接的栈







应用程序:后缀表达式评估器








栈变体



栈类和集合框架


小结


习题



递归


递归定义、算法和程序






三个问题






数组的递归处理



链表的递归处理





 


查找






小结


习题




附录


附录


附录


术语表


索引



内容摘要

本书主要介绍传统的和现代的数据结构方面的知识,重点介绍问题的解决和软件的设计。从基础知识开始并贯穿全书,介绍并扩展了许多功能的应用,如类、对象、泛型、多态、包、接口、库中的类、继承、异常和线程等。我们还在整个讲解过程中使用统一建模语言()类图来帮助建模并可视化对象、类、接口、应用程序及其相互关系。


关于基础知识的整理。综述面向对象,强调了组织对象和类的机制。


介绍了抽象数据类型栈(),引入了抽象数据类型()的概念。


讨论了递归(),演示了如何使用递归解决编程问题。


介绍了抽象数据类型队列()。


对抽象数据类型集合进行了定义。


介绍了一个更具体的抽象数据类型—集合。


介绍了二叉搜索树抽象数据类型。


讲了映射()抽象数据类型,映射抽象数据类型也叫符号表、字典或关联数组。


介绍了优先级队列抽象数据类型,它与队列密切相关,但具有不同的访问协议。


讲了图()抽象数据类型,包括实现方法和数种有关图的重要算法(深度优先搜索、广度优先搜索、路径存在与否、*短路径和连通分量)。


介绍回顾了一些排序和查找算法。



主编推荐
美]内尔·黛尔

得克萨斯大学奥斯汀分校计算机科学博士。她自年以来,一直在得克萨斯大学奥斯汀分校任教,同时专注于计算机科学教育、写作。出版或参与出版过的专著有《

》《》《》等。

美]奇普·威姆斯

美国马萨诸塞大学阿默斯特分校计算机科学专业副教授。在过去的多年中,他教授了入门编程、软件工程、计算机体系结构和并行处理等课程。自年以来,他与其他人合作编写了本教科书,帮助多万学生学习计算机编程。他的书已被译成法语、西班牙语和俄语。现在,他从事计算机体系结构、编译器、并行处理和编译器体系结构协同优化方面的研

究。出版或参与出版的专著有《》《》《》《》等。

美]丹尼尔··乔伊斯

美国维拉诺瓦大学计算机科学系的副教授。乔伊斯的研究兴趣是软件工程,重点是软件需求识别。此外,他还活跃于计算机科学教育界。



精彩内容
 

抽象数据类型—队列

知识目标

你可以

     在抽象层次描述队列和其实现

     定义队列接口

     描述用数组实现队列操作的算法

     比较基于数组实现队列的固定队头和浮动队头方法

     说明如何用数组实现无界队列

     描述用链表实现队列操作的算法

     用增长阶分析描述及比较队列算法的效率

     定义队列中元素的间隔时间、服务时间、周转时间和等待时间

     说明并发线程如何互相干扰、引发出错,以及如何预防该干扰

技能目标

你可以

     用数组实现有界队列抽象数据类型(ADT)

     用数组实现无界队列ADT

     用链表实现无界队列ADT

     绘制图表表示特定队列实现的队列操作效果

     使用队列ADT作为应用程序的一部分

     给定到达时间和服务要求,计算队列元素的周转时间和等待时间

     用队列模拟系统调研真实世界中的队列属性

     实现一个程序,它能正确使用线程以利用问题解决方案内置的平行性

本章我们将讨论队列。在逻辑上队列与栈相对应,栈属于“后进先出”结构,而

队列属于“先进先出”结构。在队列中时间长的元素就是先移除的元素。与栈

一样,队列有多种与系统编程有关的重要用法,而且该结构也适用于其他多种应用

程序。

我们把队列当成一种抽象数据类型,从抽象层次、应用层次和实现层次来对待。

在抽象层次,队列用Java接口定义。我们将讨论数种队列应用程序,特别是探讨如何

用队列确定某个字符串是否属于回文,并调研真实世界中的队列属性。我们将用两种

基本方法实现队列:数组和链表。除了用数组实现有界队列之外,我们也会学习如何

用数组实现无界队列。与我们处理视图的正常顺序有所不同,本章的后一节讨论了

如何使用队列来保存旨在执行并行的任务,而如果这种并行性能够用于提高性能,我

们该如何使用Java来妥善利用并列。

4.1  队列

在Chapter 2中学习的栈结构,通常是在同一端进行元素添加和移除。但如果我们

需要介绍一种有不同操作方式的集合,又该怎么办呢?假设我们模拟洗车场洗车,车

辆从车场的一头进去,从另一头出来。元素从一端进入,再从相反的另一端出来的数

据结构称为队列。队列数据结构,就跟洗车场一样,其特点就是去的元素(车

辆)是先出来的元素(车辆)。

这种队列的基本形式存在数种变体,为了进行区别,我们一般引用先进先出的队

列。其他队列版本将在第4.7节“队列变体”和Chapter 9“抽象数据类型-优先级队

列”中进行介绍。现在我们把注意力集中在队列的常见版本,即一般所说的“队列”

是指先进先出的队列。与栈的情况一样,我们从三个层次把队列视为一种抽象数据类

型:抽象、实现和应用层次。

队列操作

书店的例子暗示了可以应用于队列的两种操作。首先,我们可以在队尾添加新元

素,这个操作叫入队(enqueue);其次,我们可以从队头移除元素,这个操作叫出队

(dequeue)。图4.2用方块模拟队列元素,向我们展示了上述操作对队列产生的影响。

与栈操作的压栈和退栈不一样,队列的添加和移除操作没有标准的名称。 enqueue

操作有时也会叫enq、 enque、 add(添加)或者insert(插入), dequeue的别称也有

deq、 deque、 remove(移除)、或serve。

使用队列

Chapter 2中讨论了操作系统和编译

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP