Data structures using Java

by Yedidyah Langsam

Other authorsMoshe J. Augenstein (Author), Aaron M. Tenenbaum (Author)
Hardcover, 2003

Status

Available

Call number

005.13/3

Library's review

Indeholder "Preface", "Chapter 1. Introduction to Data Structures", " 1.1. Information and Meaning", " Binary and Decimal Integers", " Real Numbers", " Character Strings", " Hardware and Software", " Concept of Implementation", " Example", " Abstract Data Types", " Sequences as Value Definitions",
Show More
" ADT for Varying-Length Character Strings", " Data Types in Java", " Objects and Java", " Value and Reference Semantics", " Data Structures and Java", " Exercises", " 1.2. Arrays, Strings, and Vectors in Java", " The Array as an ADT", " Using One-Dimensional Arrays", " Implementing One-Dimensional Arrays", " Arrays as Parametes", " Two-Dimensional Arrays", " Multidimensional Arrays", " Character Strings in Java", " Character String Operations", " Vectors in Java", " Exercises", " 1.3. Classes and Objects in Java", " Constructors", " Representing Other Data Structures", " Rational Numbers", " Using the class Rational", " Allocation of Storage and Scope of Classes", " Vectors in Java", " Exercises", "Chapter 2. The Stack", " 2.1. Definition and Examples", " Primitive Operations", " Example", " The Stack as an Abstract Data Type", " Exercises", " 2.2. Representing Stacks in Java", " Implementing the pop Operation", " Testing for Exceptional Conditions", " Implementing the push Operation", " Exercises", " 2.3. Example: Infix, Postfix, and Prefix", " Basic Definitions and Examples", " Evaluating a Postfix Expression", " Program to Evaluate a Postfix Expression", " Limitations of the Program", " Converting an Expression from Infix to Postfix", " Program to Convert an Expression from Infix to Postfix", " Exercises", " 2.4. Stack of Objects of Varying Types", " Stacks in Java Using Vectors", " Dealing with Heterogeneous Data", " The Class Class and the java.lang.reflect Package", " The Predefines Stack Class", " Exercises", "Chapter 3. Recursion", " 3.1. Recursive Definition and Processes", " Factorial Function", " Multiplication of Natural Numbers", " Fibonacci Sequence", " Binary Search", " Properties of Recursive Definition or Algorithms", " Exercises", " 3.2. Recursion in Java", " Factorial in Java", " The Fibonacci Numbers in Java", " The Binary Search in Java", " Recursive Chains", " Recursive Definition of Algebraic Expressions", " Exercises", " 3.3. Writing Recursive Programs", " The Towers of Hanoi Problem", " Translation from Prefix to Postfix Using Recursion", " Exercises", " 3.4. Simulating Recursion", " Return from a Method", " Implementing Recursive Methods", " Simulation of Factorial", " Improving the Simulated Routine", " Elimination gotos", " Simulating the Towers of Hanoi", " Exercises", " 3.5. Efficiency of Recursion", " Exercises", "Chapter 4. Queues and Lists", " 4.1. The Queue and Its Sequential Representation", " The Queue as an Abstract Data Type", " Java Implementation of Queues", " Priority Queue", " Array Implementation of a Priority Queue", " Exercises", " 4.2. Linked Lists", " Inserting and Removing Nodes from a List", " Linked Implementation of Stacks", " getnode and freenode Operations", " Linked Implementation of Queues", " The Linked List as a Data Structure", " Example of List Operations", " List Implementation of Priority Queues", " Header Nodes", " Exercises", " 4.3. Lists in Java", " Array Implementation of Lists", " Limitations of the Array Implementation", " Linked Lists Using Dynamic Variables", " Queues as Lists in Java", " Examples of List Operations in Java", " Comparing the Dynamic and Array Implementations of Lists", " Implementing Header Nodes", " Exercises", " 4.4. An Example: Simulation Using Linked Lists", " Simulation Process", " Data Structures", " Simulation Program", " Exercises", " 4.5. Other List Structures", " Circular Lists", " Stack as a Circular List", " Queue as a Circular List", " Primitive Operations on Circular Lists", " The Josephus Problem", " Addition of Long Positive Integers Using Circular Lists", " Doubly Linked Lists", " Addition of Long Positive Integers Using Doubly Linked Lists", " Exercises", "Chapter 5. Trees", " 5.1. Binary Trees", " Operations on Binary Trees", " Applications of Binary Trees", " Exercises", " 5.2. Binary Tree Representations", " Node Representation of Binary Trees", " Internal and External Nodes", " Implicit Array Representation of Binary Trees", " Choosing a Binary Tree Representation", " Binary Tree Traversals in Java", " Threaded Binary Trees", " Traversal Using a father Field", " Heterogeneous Binary Trees", " Exercises", " 5.3. An Example: The Huffman Algorithm", " The Huffman Algorithm", " Java Application", " Exercises", " 5.4. Representing Lists as Binary Trees", " Finding the kth Element", " Deleting an Element", " Implementing Tree-Represented Lists in Java", " Constructing a Tree-Represented List", " The Josephus Problem Revisited", " Exercises", " 5.5. Trees and their Applications", " Java Representations of Trees", " Tree Traversals", " General Expressions as Trees", " Evaluating an Expression Tree", " Constructing a Tree", " Exercises", " 5.6. Example: Game Trees", " Exercises", "Chapter 6. Sorting", " 6.1. General Background", " Efficiency Considerations", " O Notation", " Efficiency of Sorting", " Exercises", " 6.2. Exchange Sorts", " Bubble Sort", " Quicksort", " Efficiency of Quicksort", " Exercises", " 6.3. Selection and Tree Sorting", " Straigh Selection Sort", " Binary Tree Sorts", " Heapsort", " Heap as a Priority Queue", " Sorting Using a Heap", " Heapsort Method", " Exercises", " 6.4. Insertion Sorts", " Simple Insertion", " Shell Sort", " Address Calculation Sort", " Exercises", " 6.5. Merge and Radix Sorts", " Merge Sort", " The Cook-Kim Algorithm", " Radix Sort", " Exercises", "Chapter 7. Searching", " 7.1. Basic Search Techniques", " Dictionary as an Abstract Data Type", " Algorithmic Notation", " Sequential Searching", " Efficiency of Sequential Searching", " Reordering a List for Maximum Search Efficiency", " Searching an Ordered Table", " Indexed Sequential Search", " Binary Search", " Interpolation Search", " Exercises", " 7.2. Tree Searching", " Inserting into a Binary Search Tree", " Deleting from a Binary Search Tree", " Efficiency of Binary Search Tree Operations", " Efficiency of Nonuniform Binary Search Trees", " Optimum Search Trees", " Balanced Trees", " Exercises", " 7.3. General Search Trees", " Multiway Search Trees", " Searching a Multiway Tree", " Implementing a Multiway Tree", " Traversing a Multiway Tree", " Insertion in a Multiway Search Tree", " B-Trees", " Algorithms for B-Tree Insertion", " Computing father and index", " Deletion in Multiway Search Trees", " Efficiency of Multiway Search Trees", " Improving the B-Tree", " B+-Trees", " Digital Search Trees", " Tries", " Exercises", " 7.4. Hashing", " Resolving Hash Clashes by Open Addressing", " Deleting Items from a Hash Table", " Efficiency of Rehashing Methods", " Hash Table Reordering", " Brent's Method", " Binary Tree Hashing", " Improvements with Additional Memory", " Coalesced Hashing", " Separate Chaining", " Hashing in External Storage", " Separator Method", " Dynamic Hashing and Extendible Hashing", " Linear Hashing", " Choosing a Hash Function", " Perfect Hash Functions", " Universal Classes of Hash Functions", " Exercises", "Chapter 8. Graphs and their Applications", " 8.1. Graphs", " An Application of Graphs", " Java Representation of Graphs", " Transitive Closure", " Warshall's Algorithm", " Shortest Path Algorithm", " Exercises", " 8.2. Flow Problem", " Improving a Flow Function", " Example", " Algorithm and Program", " Exercises", " 8.3. Linked Representation of Graphs", " Djikstra'a Algorithm Revisited", " Organising the Set of Graph Nodes", " Application to Scheduling", " Java Program", " Exercises", " 8.4. Graph Traversal and Spanning Forests", " Traversal Methods for Graphs", " Spanning Forests", " Undirected Graphs and Their Traversals", " Depth-First Traversal", " Applications of Depth-First Traversal", " Efficiency of Depth-First Traversal", " Breadth-First Traversal", " Minimum Spanning Trees", " Kruskal's Algorithm", " Round-Robin Algorithm", " Exercises", "Chapter 9. Storage Management", " 9.1. General Lists", " Operations That Modify a List", " Examples", " Linked List Representation of a List", " Representation of Lists", " crList Operation", " Use of List Headers", " Freeing List Nodes", " General Lists in Java", " Programming Languages and Lists", " Exercises", " 9.2. Automatic List Management", " Reference Count Method", " Garbage Collection", " Algorithms for Garbage Collection", " Collection and Compaction", " Variations of Garbage Collection", " Exercises", " 9.3. Dynamic Memory Management", " Compaction of Blocks of Storage", " First-Fit, Best-Fit and Worst-Fit", " Improvements in the First-Fit Method", " Freeing Storage Blocks", " Boundary Tag Method", " Buddy System", " Other Buddy Systems", " Exercises", "Index".

Lærebog i mængder af standardstrukturer i datalogi og programmering. Analyse og diskussion og konkrete programmer i Java. Glimrende bog.
Show Less

Publication

Upper Saddle River, N.J. : Pearson Prentice Hall, c2003.

Description

This book employs an object-oriented approach to teaching data structures using Java. Many worked examples and approximately 300 additional examples make this book easily accessible to the reader. Most of the concepts in the book are illustrated by several examples, allowing readers to visualize the processes being taught. Introduces abstract concepts, shows how those concepts are useful in problem solving, and then shows the abstractions can be made concrete by using a programming language. Equal emphasis is placed on both the abstract and the concrete versions of a concept, so that the reader learns about the concept itself, its implementation, and its application. For anyone with an interest in learning more about data structures.

Language

Original language

English

Physical description

xvii, 670 p.; 24.2 cm

ISBN

0130477214 / 9780130477217

Local notes

Omslag: Bruce Kenselaar
Omslaget viser puslespilsbrikker, der er på vej på plads i et puslespil, der viser tandhjul og diverse computer symboler
Indskannet omslag - N650U - 150 dpi

Pages

xvii; 670

Library's rating

Rating

(1 rating; 4)

DDC/MDS

005.13/3
Page: 0.2375 seconds