Advanced Topics in Java [electronic resource] : Core Concepts in Data Structures /
Kalicharan, Noel.author.
Java is one of the most widely used programming languages today. It was first released by Sun Microsystems in 1995. Over the years, its popularity has grown to the point where it plays an important role in most of our lives. From laptops to data centers, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere! There are tons of applications and heaps of websites that will not work unless you have Java installed, and more are created every day. And, of course, Java is used to power what has become the world's most dominant mobile platform, Android. Advanced Topics In Java teaches the algorithms and concepts that any budding software developer should know. You'll delve into topics such as sorting, searching, merging, recursion, random numbers and simulation, among others. You will increase the range of problems you can solve when you learn how to create and manipulate versatile and popular data structures such as binary trees and hash tables. This book assumes you have a working knowledge of basic programming concepts such as variables, constants, assignment, selection (if..else) and looping (while, for). It also assumes you are comfortable with writing functions and working with arrays. If you study this book carefully and do the exercises conscientiously, you would become a better and more agile software developer, more prepared to code today's applications - no matter the language.
""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 Objectâ€?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""
Includes index.
Java is one of the most widely used programming languages today. It was first released by Sun Microsystems in 1995. Over the years, its popularity has grown to the point where it plays an important role in most of our lives. From laptops to data centers, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere! There are tons of applications and heaps of websites that will not work unless you have Java installed, and more are created every day. And, of course, Java is used to power what has become the world's most dominant mobile platform, Android. Advanced Topics In Java teaches the algorithms and concepts that any budding software developer should know. You'll delve into topics such as sorting, searching, merging, recursion, random numbers and simulation, among others. You will increase the range of problems you can solve when you learn how to create and manipulate versatile and popular data structures such as binary trees and hash tables. This book assumes you have a working knowledge of basic programming concepts such as variables, constants, assignment, selection (if..else) and looping (while, for). It also assumes you are comfortable with writing functions and working with arrays. If you study this book carefully and do the exercises conscientiously, you would become a better and more agile software developer, more prepared to code today's applications - no matter the language.
Java (Computer program language).
Software engineering.
Java.
Software Engineering/Programming and Operating Systems.