內容簡介
《經典原版書庫·數據結構與算法分析: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