内容简介
《经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版)》是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。
随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。《经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版)》将算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,并细致讲解精心构造程序的方法,内容全面、缜密严格。
作者简介
Mark Allen Weiss,佛罗里达国际大学计算与信息科学学院教授、副院长,本科教育主任和研究生教育主任。他于1987年获得普林斯顿大学计算机科学博士学位,师从BobSedgewick。他曾经担任全美AP(Advanced Placement)考试计算机学科委员会的主席(2000-2004)。他的主要研究兴趣是数据结构、算法和教育学。
内页插图
目录
Preface
Chapter 1 Introduction
1.1 What's the Book About?
1.2 Mathematics Review
1.2.1 Exponents
1.2.2 Logarichms
1.2.3 Series
1.2.4 Modular Arithmetic
1.2.5 The P Word
1.3 A Brief Inroduction to Recursion
1.4 Implementing Generic Components Pre-Java
1.4.1 Using Object for Genericicy
1.4.2 Wrappers for Primitive Types
1.4.3 Usinglnterface Types for Genericity
1.4.4 Compatibility of Array Types
1.5 Implementing Generic Components Usingjava 5 Generics
1.5.1 Simple Generic Classes and Interfaces
1.5.2 Autoboxing/Unboxing
1.5.3 TheDiamond Operator
1.5.4 Wildcardswith Bounds
1.5.5 Generic Static Methods
1.5.6 Type Bounds
1.5.7 TypeErasure
1.5.8 Restrictions onGenerics
1.6 Function Objects
Summary
Exercises
References
Chapter 2 Algorithm Analysis
2.1 MathematicalBackground
2.2 Model
2.3 What to Analyze
2.4 Running Time Calculations
2.4.1 A Simple Example
2.4.2 General Rules
2.4.3 Solutions for the Maximum Subsequence Sum Problem
2.4.4 Logamhms in the RunningTime
2.4.5 A Grain of Salt
Summary
Exercises
References
Chapter 3 Lists,Stacks,and Queues
3.1 Abstract Data Types (ADTs)
3.2 The List ADT
3.2.1 Simple Array Implementation of Lists
3.2.2 Simple Linked Lists
3.3 Listsin the java Collections API
3.3.1 Collectionlnterfac
3.3.2 Iterator
3.3.3 The List Interface, ArrayList, and LinkedList
3.3.4 Example:UsingremoveonaLinkedList
3.3.5 Listlterators
3.4 Implementation of ArrayList
3.4.1 The Basic Class
3.4.2 The Iterator and Java.Nested and Inner Classes
3.5 Implementation of LinkedList
3.6 The StackADT
3.6.1 Stack Model
……
Chapter 4 Trees
Chapter 5 Hashing
Chapter 6 Priority Queues(Heaps)
Chapter 7 Sorting
Chapter 8 The Disjoint Set Class
Chapter 9 Graph Algorithms
Chapter 10 Algorithm Desing Techniques
Chapter 11 Amortized Analysis
Chapter 12 Advanced Data Sturctures and Implementation
Index
精彩书摘
Suppose you have a group of N numbers and would like to determine the thh largest. This is known as the selection problem. Most studencs who have had a programming course or two would have no difficulty writing a program Co solve t.his problem. There are quite a few "obvious" solutions.
One way to solve this problem would be to read the N numbers into an array, sort the array in decreasing order by some simple algorithm such as bubblesort, and then return the elemem in poskion k.
A somewhat better algorithm might be to read the first k elements into an array and sort them (in decreasing order). Next, each remaining element is read one by one. As a new element arrives, it is ignored ifit is smaller than the kth element in the array. Otherwise, it is placed in its correct spot in the array, bumping one element out of the array. When the algPo'ithm ends, the element.in the kth position is ret.urned as the answer.
Both algorit.hms are simple to code, and you are encouraged to do so. The natural questions, then, are which algorithm is better and, more important, is either algorithm good enough? A simulation using a random file of 30 million elements and k = l5,000,000 will show that neither algorithm finishes in a reasonable amount of time; each requiresseveral days of compurer processing to cerminate (albeic eventually with a correct answer).An alternative met.hod, discussed in Chapt.er 7, gives a solution in about a second. Thus,although our proposed algorithms work, they cannot be considered good algorithms,because they are entirely impractical for input sizes that a third algorithm can handle in areasonable amount of rime.
……
前言/序言
经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版) [Data Structures and Algorithm Analysis in JAVA Third Edition] 下载 mobi epub pdf txt 电子书 格式
经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版) [Data Structures and Algorithm Analysis in JAVA Third Edition] 下载 mobi pdf epub txt 电子书 格式 2024
经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版) [Data Structures and Algorithm Analysis in JAVA Third Edition] 下载 mobi epub pdf 电子书
经典原版书库·数据结构与算法分析:Java语言描述(英文版·第3版) [Data Structures and Algorithm Analysis in JAVA Third Edition] mobi epub pdf txt 电子书 格式下载 2024