This book is intended for a second undergraduate course in computer science. I assume that the reader is familiar with the basic control structures of Java or C and with elementary concepts such as variables and decomposing a problem into functions (methods). Only a pre-calculus level of mathematics is expected.

The Beetle Class.
For variety, we develop the Beetle class in a more top-down fashion. We begin by thinking about what a Beetle can do.
We will need methods to add various body parts. This might not always succeed. For example, the rules of the game don’t allow a player to add an eye if his beetle doesn’t have a head yet.
Since the success of an addition earns the player another turn, the BeetleGame class will need to know whether the addition succeeded. These methods should therefore return a boolean value. We need a method to indicate whether the Beetle is complete. The BeetleGame class will need this information to determine when the game is over.
Contents.
Part I: Object-Oriented Programming.
1 Encapsulation.
1.1 Software Development.
1.2 Classes and Objects.
1.3 Using Objects.
Summary.
Vocabulary.
Problems.
Projects.
2 Polymorphism.
2.1 Reference Types.
2.2 Arrays.
2.3 Interfaces.
2.4 Overloading.
Summary.
Vocabulary.
Problems.
Projects.
3 Inheritance.
3.1 Extending a Class.
3.2 The Object Class.
3.3 Packages and Access Levels.
Summary.
Vocabulary.
Problems.
Projects.
Part II: Linear Structures.
4 Stacks and Queues.
4.1 The Stack Interface.
4.2 The Call Stack.
4.3 Exceptions.
4.4 The Queue Interface.
Summary.
Vocabulary.
Problems.
Projects.
5 Array-Based Structures.
5.1 Shrinking and Stretching Arrays.
5.2 Implementing Stacks and Queues.
5.3 The List Interface.
5.4 Iterators.
5.5 The Java Collections Framework: A First Look.
Summary.
Vocabulary.
Problems.
Projects.
6 Linked Structures.
6.1 List Nodes.
6.2 Stacks and Queues.
6.3 The LinkedList Class.
6.4 The Java Collections Framework Revisited.
Summary.
Vocabulary.
Problems.
Projects.
Part III: Algorithms.
7 Analysis of Algorithms.
7.1 Timing.
7.2 Asymptotic Notation.
7.3 Counting Steps.
7.4 Best, Worst, and Average Case.
7.5 Amortized Analysis.
Summary.
Vocabulary.
Problems.
Projects.
8 Searching and Sorting.
8.1 Linear Search.
8.2 Binary Search.
8.3 Insertion Sort.
8.4 The Comparable Interface.
8.5 Sorting Linked Lists.
Summary.
Vocabulary.
Problems.
Projects.
9 Recursion.
9.1 Thinking Recursively.
9.2 Analyzing Recursive Algorithms.
9.3 Merge Sort.
9.4 Quicksort.
9.5 Avoiding Recursion.
Summary.
Vocabulary.
Problems.
Projects.
Part IV: Trees and Sets.
10 Trees.
10.1 Binary Trees.
10.2 Tree Traversal.
10.3 General Trees.
Summary.
Vocabulary.
Problems.
Projects.
11 Sets.
11.1 The Set Interface.
11.2 Ordered Lists.
11.3 Binary Search Trees.
11.4 Hash Tables.
11.5 The Java Collections Framework Again.
Summary.
Vocabulary.
Problems.
Projects.
Part V: Advanced Topics.
12 Advanced Linear Structures.
12.1 Bit Vectors.
12.2 Sparse Arrays.
12.3 Contiguous Representation of Multidimensional Arrays.
12.4 Advanced Searching and Sorting.
Summary.
Vocabulary.
Problems.
Projects.
13 Strings.
13.1 Strings and StringBuilders.
13.2 String Matching.
Summary.
Vocabulary.
Problems.
Projects.
14 Advanced Trees.
14.1 Heaps.
14.2 Disjoint Set Clusters.
14.3 Digital Search Trees.
14.4 Red-Black Trees.
Summary.
Vocabulary.
Problems.
Projects.
15 Graphs.
15.1 Terminology.
15.2 Representation.
15.3 Graph Traversal.
15.4 Topological Sorting.
15.5 Shortest Paths.
15.6 Minimum Spanning Trees.
Summary.
Vocabulary.
Problems.
Projects.
16 Memory Management.
16.1 Explicit Memory Management.
16.2 Automatic Memory Management.
Summary.
Vocabulary.
Problems.
Projects.
17 Out to the Disk.
17.1 Interacting with Files.
17.2 Compression.
17.3 External Sorting.
17.4 B-Trees.
Summary.
Vocabulary.
Problems.
Projects.
Part VI: Appendices.
A Review of Java.
A.1 The First Program.
A.2 Variables and Types.
A.3 Loops.
A.4 Interacting with the User.
A.5 Branching.
A.6 Methods and Breaking Out.
A.7 Constants.
A.8 Operators.
A.9 Debugging.
A.10 Coding Conventions.
B Unified Modeling Language.
B.1 Class Diagrams.
B.2 Instance Diagrams.
C Summation Formulae.
C.1 Sum Notation.
C.2 Sum of Constants.
C.3 Sum of First n Integers.
C.4 Sums of Halves and Doubles.
C.5 Upper Limit on Sum of a Function.
C.6 Constant Factors.
D Further Reading.
D.1 Data Structures and Algorithms.
D.2 Java.
D.3 Games.
Index.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Data Structures and Algorithms in Java, Drake P., 2006 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Хештеги: #учебник по программированию :: #программирование :: #Drake
Смотрите также учебники, книги и учебные материалы:
Предыдущие статьи:








