
Advanced Topics in Java
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Person
Content
- Intro
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewers
- Preface
- Chapter 1: Sorting, Searching, and Merging
- 1.1 Sorting an Array: Selection Sort
- 1.1.1 Analysis of Selection Sort
- 1.2 Sorting an Array: Insertion Sort
- 1.2.1 Analysis of Insertion Sort
- 1.3 Inserting an Element in Place
- 1.4 Sorting a String Array
- 1.5 Sorting Parallel Arrays
- 1.6 Binary Search
- 1.7 Searching an Array of Strings
- 1.8 Example: Word Frequency Count
- 1.9 Merging Ordered Lists
- 1.9.1 Implementing the Merge
- Chapter 2: Introduction to Objects
- 2.1 Objects
- 2.2 Defining Classes and Creating Objects
- 2.2.1 Access to Class and Instance Variables
- 2.2.2 Initializing Class and Instance Variables
- 2.3 Constructors
- 2.3.1 Overloading a Constructor
- 2.4 Data Encapsulation, Accessor, and Mutator Methods
- 2.4.1 An Improved Constructor
- 2.4.2 Accessor Methods
- 2.5 Printing an Object's Data
- 2.5.3 Using the toString() Method
- 2.6.1 Testing the Class Part
- 2.7 How to Name Your Java Files
- 2.8 Working with Objects
- 2.8.1 Assigning an Object Variable to Another
- 2.8.2 Losing Access to an Object
- 2.8.3 Comparing Object Variables
- 2.10 Passing an Object as an Argument
- 2.11 Array of Objects
- 2.11.1 Finding the Part with the Lowest Price
- 2.12 Searching an Array of Objects
- 2.13 Sorting an Array of Objects
- 2.15 How to Return More Than One Value: Voting
- Chapter 3: Linked Lists
- 3.1 Defining Linked Lists
- 3.2 Basic Operations on a Linked List
- 3.2.1 Counting the Nodes in a Linked List
- 3.2.2 Searching a Linked List
- 3.2.3 Finding the Last Node in a Linked List
- 3.3 Building a Linked List: Adding a New Item at the Tail
- 3.4 Insertion Into a Linked List
- 3.5 Building a Linked List: Adding a New Item at the Head
- 3.6 Deletion from a Linked List
- 3.7 Building a Sorted Linked List
- 3.8 A Linked List Class
- 3.9 How to Organize Java Files
- 3.10 Expanding the LinkedList Class
- 3.11 Example: Palindrome
- 3.12 Saving a Linked List
- 3.13 Arrays vs. Linked Lists
- 3.14 Storing a Linked List Using Arrays
- 3.15 Merging Two Sorted Linked Lists
- 3.16 Circular and Two-Way Linked Lists
- 3.16.1 Circular Lists
- 3.16.2 Two-Way (Doubly Linked) Lists
- Chapter 4: Stacks and Queues
- 4.1 Abstract Data Types
- 4.2 Stacks
- 4.2.1 Implementing a Stack Using an Array
- 4.2.2 Implementing a Stack Using a Linked List
- 4.3 A General Stack Type
- 4.3.1 Example: Convert from Decimal to Binary
- 4.4 How to Convert from Infix to Postfix
- 4.4.1 Evaluating an Arithmetic Expression
- 4.5 Queues
- 4.5.1 Implementing a Queue Using an Array
- Chapter 5: Recursion
- 5.1 Recursive Definition
- 5.2 Writing Recursive Functions in Java
- 5.3 Converting a Decimal Number to Binary Using Recursion
- 5.4 Printing a Linked List in Reverse Order
- 5.5 Towers of Hanoi
- 5.6 Writing Power Functions
- 5.7 Merge Sort
- 5.8 Counting Organisms
- 5.9 Finding a Path Through a Maze
- 5.9.1 Writing the Program
- Chapter 6: Random Numbers, Games, and Simulation
- 6.1 Random Numbers
- 6.2 Random and Pseudorandom Numbers
- 6.3 Generating Random Numbers by Computer
- 6.4 A Guessing Game
- 6.5 Drills in Addition
- 6.6 Nim
- 6.7 Nonuniform Distributions
- 6.7.1 Collecting Bottle Caps
- 6.8 Simulation of Real-Life Problems
- 6.9 Simulating a Queue
- 6.9.1 Programming the Simulation
- 6.10 Estimating Numerical Values Using Random Numbers
- 6.10.1 Estimating
- 6.10.2 Estimating p
- Chapter 7: Working with Files
- 7.1 Input/Output in Java
- 7.2 Text and Binary Files
- 7.3 Internal vs. External File Name
- 7.4 Example: Comparing Two Files
- 7.5 The try . . . catch Construct
- 7.6 Input/Output for Binary File
- 7.6.1 DataOutputStream and DataInputStream
- 7.6.2 Binary File of Records
- 7.7 Random Access Files
- 7.8 Indexed Files
- 7.9 Updating a Random Access File
- Chapter 8: Introduction to Binary Trees
- 8.1 Trees
- 8.2 Binary Trees
- 8.3 Traversing a Binary Tree
- 8.4 Representing a Binary Tree
- 8.5 Building a Binary Tree
- 8.6 Binary Search Trees
- 8.7 Building a Binary Search Tree
- 8.7.1 Example: Word Frequency Count
- 8.8 Building a Binary Tree with Parent Pointers
- 8.8.1 Building a Binary Search Tree with Parent Pointers
- 8.9 Level-Order Traversal
- 8.10 Some Useful Binary Tree Function s
- 8.11 Binary Search Tree Deletion
- 8.12 An Array as a Binary Tree Representation
- Chapter 9: Advanced Sorting
- 9.1 Heapsort
- 9.1.1 Converting a Binary Tree into a Max-Heap
- 9.1.2 The Sorting Process
- 9.2 Building a Heap Using siftUp
- 9.3 Analysis of Heapsort
- 9.4 Heaps and Priority Queues
- 9.5 Sorting a List of Items with Quicksort
- 9.5.1 Another Way to Partition
- 9.5.2 Nonrecursive Quicksort
- 9.5.3 Finding the k th Smallest Number
- 9.6 Shell (Diminishing Increment) Sort
- Chapter 10: Hashing
- 10.1 Hashing Fundamentals
- 10.1.1 The Search and Insert Problem
- 10.2 Solving the Search and Insert Problem by Hashing
- 10.2.1 The Hash Function
- 10.2.2 Deleting an Item from a Hash Table
- 10.3 Resolving Collisions
- 10.3.1 Linear Probing
- 10.3.2 Quadratic Probing
- 10.3.3 Chaining
- 10.3.4 Linear Probing with Double Hashing 1
- 10.4 Example: Word Frequency Count
- Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.