注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)數(shù)據(jù)結(jié)構(gòu)與Java類集框架:英文本

數(shù)據(jù)結(jié)構(gòu)與Java類集框架:英文本

數(shù)據(jù)結(jié)構(gòu)與Java類集框架:英文本

定 價(jià):¥48.00

作 者: 美William J.Collins著
出版社: 高等教育出版社
叢編項(xiàng): 國外優(yōu)秀信息科學(xué)與技術(shù)系列教學(xué)用書
標(biāo) 簽: 數(shù)據(jù)結(jié)構(gòu)

ISBN: 9787040112573 出版時(shí)間: 2002-07-01 包裝: 平裝
開本: 23cm 頁數(shù): 716 字?jǐn)?shù):  

內(nèi)容簡介

  本書著重闡述數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識及其Java語言實(shí)現(xiàn)。學(xué)生通過對書中編程項(xiàng)目和實(shí)驗(yàn)的實(shí)踐和訓(xùn)練,可加深對基本概念和方法的理解和掌握,并可直接了解實(shí)際當(dāng)中的應(yīng)用。本書的主要特點(diǎn)包括:全面涵蓋了數(shù)據(jù)結(jié)構(gòu)與Java類集框架的內(nèi)容,尤其介紹了重要數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),如表、樹和Hash表等;運(yùn)用簡單的圖形用戶接口作為輸入/輸出,以使學(xué)生能更好地理解在實(shí)際當(dāng)中普遍應(yīng)用的事件驅(qū)動程序設(shè)計(jì)方法;本書含有大量的例題和練習(xí)、應(yīng)用案例和實(shí)例,以加強(qiáng)學(xué)生的實(shí)際訓(xùn)練。本書前言進(jìn)入21世紀(jì),尤其隨著我國加入WTO,信息產(chǎn)業(yè)的國際競爭將更加激烈。我國信息產(chǎn)業(yè)雖然在20世紀(jì)末取得了迅猛發(fā)展,但與發(fā)達(dá)國家相比,甚至與印度、愛爾蘭等國家相比,還有很大差距。國家信息化的發(fā)展速度和信息產(chǎn)業(yè)的國際競爭能力,最終都將取決于信息科學(xué)技術(shù)人才的質(zhì)量和數(shù)量。引進(jìn)國外信息科學(xué)和技術(shù)優(yōu)秀教材,在有條件的學(xué)校推動開展英語授課或雙語教學(xué),是教育部為加快培養(yǎng)大批高質(zhì)量的信息技術(shù)人才采取的一項(xiàng)重要舉措。為此,教育部要求由高等教育出版社首先開展信息科學(xué)和技術(shù)教材的引進(jìn)試點(diǎn)工作。同時(shí)提出了兩點(diǎn)要求,一是要高水平、二是要低價(jià)格。在高等教育出版社和信息科學(xué)技術(shù)引進(jìn)教材專家組的努力下,經(jīng)過比較短的時(shí)間,第一批引進(jìn)的20多種教材已經(jīng)陸續(xù)出版。這套教材出版后受到了廣泛的好評、其中有不少是世界信息科學(xué)技術(shù)領(lǐng)域著名專家、教授的經(jīng)典之作和反映信息科學(xué)技術(shù)最新進(jìn)展的優(yōu)秀作品,代表了目前世界信息科學(xué)技術(shù)教育的一流水平,而且價(jià)格也是最優(yōu)惠的,與國內(nèi)同類自編教材相當(dāng)。這項(xiàng)教材引進(jìn)工作是在教育部高等教育司和高教社的共同組織下,由國內(nèi)信息科學(xué)技術(shù)領(lǐng)域的專家、教授廣泛參與,在對大量國外教材進(jìn)行多次遴選的基礎(chǔ)上,參考了國內(nèi)和國外著名大學(xué)相關(guān)專業(yè)的課程設(shè)置進(jìn)行系統(tǒng)引進(jìn)的。其中,JohnWiley公司出版的貝爾實(shí)驗(yàn)室信息科學(xué)研究中心副總裁Silberschatz教授的經(jīng)典著作《操作系統(tǒng)概念》,是我們經(jīng)過反復(fù)談判,做了很多努力才得以引進(jìn)的。WilliamStallihgs先生曾編寫了在美國深受歡迎的信息科學(xué)技術(shù)系列教材,其中有多種教材獲得過美國教材和學(xué)術(shù)著作者協(xié)會頒發(fā)的計(jì)算機(jī)科學(xué)與工程教材獎(jiǎng),這批引進(jìn)教材中就有他的兩本著作。留美中國學(xué)者JiaweiHan先生的《數(shù)據(jù)挖掘》是該領(lǐng)域中具有里程碑意義的著作。由達(dá)特茅斯學(xué)院的ThomasCormen和麻省理工學(xué)院、哥倫比亞大學(xué)的幾位學(xué)者共同編著的經(jīng)典著作《算法導(dǎo)論》,在經(jīng)歷了11年的錘煉之后于2001年出版了第二版。目前任教于美國Massachusetts大學(xué)的JamesKurose教授,曾在美國三所高校先后10次獲得杰出教師或杰出教學(xué)獎(jiǎng),由他主編的《計(jì)算機(jī)網(wǎng)絡(luò)》出版后,以其體系新穎、內(nèi)容先進(jìn)而倍受歡迎。在努力降低引進(jìn)教材售價(jià)方面,高等教育出版社做了大量和細(xì)致的工作。這套引進(jìn)的教材體現(xiàn)了權(quán)威性、系統(tǒng)性、先進(jìn)性和經(jīng)濟(jì)性等特點(diǎn)。

作者簡介

  作者WilliamJ.Collins現(xiàn)在美國Lafayette學(xué)院計(jì)算機(jī)系從事數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)。

圖書目錄

內(nèi)容:1. Java重要特性 2. 接口與類集 3. 軟件工程簡介 4. 遞歸 5. 數(shù)組列表 6. 鏈接表 7. 隊(duì)列與棧 8. 二叉樹與二叉排序樹 9. 平衡二叉排序樹 10. 樹圖與樹集 11. 優(yōu)先隊(duì)列 12. 排序 13. 排序與哈希類 14. 圖、樹與網(wǎng)絡(luò) 附錄一 數(shù)學(xué)背景知識 附錄二 圖形用戶接口及其相關(guān)類 附錄三 Java類集框架中的接口與類
Chapter1 Important Features of Java
Chapter Objectives
1.1 Classes
1.1.1 Method Descriptions
1.1.2 Data Abstraction
1.1.3 An Employee Class
1.1.4 Local Variables and Fields
1.1.5 Constructors
1.1.6 Instance Variables and Static Variables
1.1.7 Visibility Modifiers
1.1.8 Graphical User Interfaces
1.1.9 The Company Class
Lab 1: The CompanyMain Project
1.1.10 Inheritance
1.1.11 The protected Visibility Modifier
1.1.12 Inheritance and Constructors
Lab 2: The SalariedEmployee Class
1.1.13 Polymorphism
1.1.14 Information Hiding
1.1.15 Exception Handling
1.1.16 Propagating Exceptions
Lab 3: An Example of Exception Handling
Summary
Exercises
Programming Project 1.1: Developing and Using a Sequence Class

Chapter2 Interfaces and Collection Classes
Chapter Objectives
2.1 Abstract Methods and Abstract Classes
Lab 4: A Class for Regular Polygons
2.2 Interfaces
2.3 Arrays
2.4 Collection Classes
2.5 Storage Structures for Collection Classes
Lab 5: The ArrayCollection Class's Implementation of the Collection Interface
2.5.1 Linked Structures
2.5.2 The LinkedCollection Class
2.5.3 Fields and Method Definitions in the LinkedCollection Class
2.5.4 Iterators
Lab 6: Expanding the LinkedCollection Class
2.5.5 Data Structures and the Java Collections Framework
Summary
Exercises
Programming Project 2.1: Expanding the LinkedCollection Class

Chapter3 Introduction to Software Engineering
Chapter Objectives
3.1 The Software Development Life Cycle
3.2 Problem Analysis
3.2.1 System Tests
3.3 Program Design
3.3.1 Method Descriptions and Fields
3.3.2 Dependency Diagrams
3.4 Program Implementation
3.4.1 Method Validation
Lab 7: Drivers
3.4.2 Is Correctness Feasible?
3.4.3 Estimating the Efficiency of Methods
3.4.4 Big-O Notation
3.4.5 Getting Big-O Estimates Quickly
3.4.6 Trade-Offs
3.4.7 Run-Time Analysis
3.4.8 Overview of the Random Class
Lab 8: Randomness and Timing
3.5 Program Maintenance
Summary
Exercises
Programming Project 3.1: Further Expansion of the LinkedCollection Class

Chapter4 Recursion
Chapter Objectives
4.1 Introduction
4.2 Factorials
4.2.1 Execution Frames
4.3 Decimal to Binary
Lab 9: Fibonacci Numbers
4.4 Towers of Hanoi
4.4.1 A Recurrence Relation
4.5 Backtracking
4.5.1 An A-maze-ing Application
4.6 Binary Search
Lab 10: Iterative Binary Search
Lab 11: Generating Permutations
4.7 Indirect Recursion
4.8 The Cost of Recursion
Summary
Exercises
Programming Project 4.1: Iterative Version of Towers of Hanoi
Programming Project 4.2: Eight Queens
Programming Project 4.3: A Knigh's Tour

Chapter5 Array Lists
Chapter Objectives
5.1 The List Interface
5.2 The ArrayList Class
5.2.1 Method Descriptions for the ArrayList Class
5.2.2 ArrayList Class Heading
5.2.3 Fields in the ArrayList Class
5.2.4 ArrayList Objects Are Serializable
5.2.5 ArrayList Objects Are Cloneable
5.3 The ArrayList Implementation
5.3.1 Definition of the add Method
5.3.2 Amortized Time
5.3.3 The clone Method and the Copy Constructor
5.3.4 Fail-Fast Iterators
Lab 12: More Details on the ArrayList Class
5.4 Application: High-Precision Arithmetic
5.4.1 Design of the VeryLongInt Class
5.4.2 Implementation of the VeryLongInt Class
Lab 13: Extending the VeryLongInt Class
5.5 The Vector Class
Summary
Exercises
Programming Project 5.1: Extending the VeryLongInt Class
Programming Project 5.2: The Deque Class

Chapter6 Linked Lists
Chapter Objectives
6.1 The LinkedList Class
6.1.1 The LinkedList Class versus the ArrayList Class
6.1.2 LinkedList Iterators
6.1.3 Fields and Implementation of the LinkedList Class
6.1.4 Fields and Implementation of ListItr Class
Lab 14: More Implementation Details of the ListItr Class
Lab 15: Timing the ArrayList and LinkedList Classes
6.1.5 Alternative Designs and Implementations of the LinkedList Class
6.1.6 Circular Linked Lists
6.2 Application: A Line Editor
6.2.1 Design of the Editor Class
6.2.2 Implementation of the Editor Class
6.2.3 Big-O Analysis of the Editor Class Methods
6.2.4 The EditorDriver Class
Summary
Exercises
Programming Project 6.1: Extending the Line Editor
Programming Project 6.2: Alternative Design and Implementation of the LinkedList Class

Chapter7 Queues and Stacks
Chapter Objectives
7.1 Queues
7.1.1 Design and Implementation of the Queue Class
7.1.2 Alternative Designs and Implementation of the Queue Class
7.2 Computer Simulation
7.3 Application: A Simulated Car Wash
7.3.1 Design of the CarWash Class
7.3.2 Implementation of the CarWash Class
7.3.3 Analysis of the CarWash Methods
7.3.4 Randomizing the Arrival Times
Lab 16: Randomizing the Arrival Times
7.4 Stacks
7.4.1 Design and Implementation of the Stack Class
7.4.2 The Stack Class in the Java Collections Framework
7.4.3 Alternative Designs and Implementations of the Stack Class
7.5 Application: How Compilers Implement Recursion
7.6 Application: Converting From Infix to Postfix
7.6.1 Postfix Notation
7.6.2 Transition Matrix
7.6.3 Tokens
Lab 17: Converting from Infix to Postfix
7.6.4 Prefix Notation
Summary
Exercises
Programming Project 7.1: Extending Speedo's Car Wash
Programming Project 7.2: Run-Time Evaluation of a Condition
Programming Project 7.3: An Iterative Version of Maze-Search

Chapter8 Binary Trees and Binary Search Trees
Chapter Objectives
8.1 Definition and Properties of Binary Trees
8.1.1 The Binary Tree Theorem
8.1.2 External Path Length
8.1.3 Traversals of a Binary Tree
8.2 Binary Search Trees
8.2.1 The BinSearchTree Class
8.2.2 Fields and Embedded Classes in the BinSearchTree Class
8.2.3 Implementation of the BinSearchTree Class
8.2.4 The remove Method
8.2.5 The TreeIterator Class
Lab 18: A Run-Time Estimate of the Average Height of a BinSearchTree Object
Summary
Exercises
Programming Project 8.1: An Alternative Design and Implementation of the Binary-Search-Tree Data Structure

Chapter9 Balanced Binary Search Trees
Chapter Objectives
9.1 A Problem with Binary Search Trees
9.2 Rotations
9.3 AVL Trees
9.3.1 The Height of an AVL Tree
9.3.2 The AVLTree Class
9.3.3 The fixAfterInsertion Method
9.3.4 Correctness of the add Method
9.4 Red-Black Trees
9.4.1 The Height of a Red-Black Tree
Summary
Exercises
Programming Project 9.1: Defining the remove Method in the AVLTree Class

Chapter10 Tree Maps and Tree Sets
Chapter Objectives
10.1 The TreeMap Class
10.1.1 Method Descriptions of the TreeMap Class
10.1.2 The Fields in the TreeMap Class
10.1.3 The Comparator and Comparable Classes
10.1.4 The Entry Class
10.1.5 Implementation of the TreeMap Class
10.1.6 The fixAfterInsertion Method
10.1.7 Three Cases of Insertion
Lab 19: A Red-Black Tree Insertion with All Three Cases
10.1.8 More TreeMap Methods
10.1.9 The fixAfterInsertion Method
Lab 20: A Red-Black Tree Removal with All Four Cases
10.1.10 The entrySet Method
10.2 Application: TreeMap Objects: A Simple Thesaurus
10.2.1 Design and Implementation of the Thesaurus Class
10.2.2 Disign and Implementation of the ThesaurusDriver Class
10.3 The TreeSet Class
10.3.1 Design and Implementation of the TreeSet Class
10.4 Application: A Simple Spell-Checker
10.4.1 Design and Implementation of the SpellChecker Class
10.4.2 Design and Implementation of the SpellCheckerDriver Class
Summary
Exercises
Programming Project 10.1: Enhancing the SpellChecker Project
Programming Project 10.2: Determining Word Frequencies
Programming Project 10.3: Building a Concordance

Chapter11 Priority Queues
Chapter Objectives
11.1 Introduction
11.2 Definition of the PriorityQueue Interface
11.3 Implementations of the PriorityQueue Interface
11.3.1 The Heap Class
11.3.2 Fields in the Heap Class
11.3.3 Implementation of the Heap Class
11.3.4 The percolateUp Method
11.3.5 The percolateDown Method
Lab 21: Incorporating Fairness in Heaps
11.4 Application: Huffman Codes
11.4.1 Huffman Tree
11.4.2 Greedy Algorithms
11.4.3 The Huffman Class
Summary
Exercises
Programming Project 11.1: Decoding a Huffman-Encoded Message

Chapter12 Sorting
Chapter Objectives
12.1 Introduction
12.2 Insertion Sort
12.3 How Fast Can We Sort?
12.4 Fast Sorts
12.4.1 Merge Sort
12.4.2 Tree Sort
12.4.3 Heap Sort
12.4.4 Quick Sort
Lab 22: Run-times for Sort Methods
Summary
Exercises
Programming Project 12.1: File Sorting

Chapter13 Searching and The Hash Classes
Chapter Objectives
13.1 A Framework to Analyze Searching
13.2 Review of Searching
13.2.1 Sequential Search
13.2.2 Binary Search
13.2.3 Red-Black-Tree Search
13.3 The HashMap Class
13.3.1 Method Descriptions in the HashMap Class
13.3.2 Fields in the HashMap Class
13.3.3 Hashing
13.3.4 The hashCode Method
13.3.5 The Uniform Hashing Assumption
13.3.6 Chaining
13.3.7 Implementation of the HashMap Class
13.3.8 Analysis of Chained Hashing
13.3.9 The HashIterator Class
13.4 The HashSet Class
Lab 23: Timing the Hash Classes
13.5 Open-Address Hashing
13.5.1 The remove Method

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號