1st Edition

A Concise Introduction to Data Structures using Java

By Mark J. Johnson Copyright 2014
    236 Pages 138 B/W Illustrations
    by Chapman & Hall

    236 Pages
    by Chapman & Hall

    A student-friendly text, A Concise Introduction to Data Structures Using Java takes a developmental approach, starting with simpler concepts first and then building toward greater complexity. Important topics, such as linked lists, are introduced gradually and revisited with increasing depth. More code and guidance are provided at the beginning, allowing students time to adapt to Java while also beginning to learn data structures. As students develop fluency in Java, less code is provided and more algorithms are outlined in pseudocode. The text is designed to support a second course in computer science with an emphasis on elementary data structures.

    The clear, concise explanations encourage students to read and engage with the material, while partial implementations of most data structures give instructors the flexibility to develop some methods as examples and assign others as exercises. The book also supplies an introductory chapter on Java basics that allows students who are unfamiliar with Java to quickly get up to speed. The book helps students become familiar with how to use, design, implement, and analyze data structures, an important step on the path to becoming skilled software developers.

    A Brief Introduction to Java
    Basics
    Strings
    Arrays
    Using Objects
    Writing Classes

    Algorithm Analysis
    Big-O Notation
    Sorting: Insertion Sort
    Searching: Binary Search

    Integer Stacks
    Stack Interface
    Array Implementation
    Linked Implementation

    Generic Stacks
    Generic Types
    Generic Stack Implementations
    Evaluating Expressions: Background
    Evaluating Expressions: Implementations

    Queues
    Interface and Linked Implementation
    Array Implementation
    Inheritance: Fixed-Length Queues
    Project: Fixed-Length Queue Simulation

    Lists
    Interface
    Array Implementation
    Linked Implementation
    Iterators

    Recursion
    Mathematical Functions
    Visualizing Recursion
    Recursive and Generalized Searches
    Applications

    Trees
    Definitions and Examples
    Traversals
    Binary Tree Abstract Class
    Project: A Collection Hierarchy

    Binary Search Trees
    Queries
    Insertion
    Deletion
    Performance

    Heaps
    Priority Queue Interface and Array-Based Heaps
    Insertion and Deletion
    Buildheap and Heapsort
    Project: Event-Based Simulation

    Hash Tables
    Map Interface and Linked Implementation
    Hash Tables
    Chaining
    Linear Probing

    Bibliography

    Index

    Biography

    Johnson, Mark J.