The Resource Open data structures : an introduction, Pat Morin

Open data structures : an introduction, Pat Morin

Label
Open data structures : an introduction
Title
Open data structures
Title remainder
an introduction
Statement of responsibility
Pat Morin
Creator
Author
Subject
Language
eng
Summary
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Analyzed and implemented in Java, with a mathematically rigorous approach, Morin clearly and briskly presents instruction along with source code. A modern treatment of an essential computer science topic, this text is a measured balance between classical topics and state-of-the-art structures that will serve the needs of all undergraduate
Member of
Cataloging source
NLC
http://library.link/vocab/creatorDate
1973-
http://library.link/vocab/creatorName
Morin, Pat
Dewey number
005.7/3
Illustrations
illustrations
Index
index present
LC call number
QA76.9 .D35
Literary form
non fiction
Nature of contents
  • dictionaries
  • bibliography
Series statement
OPEL Open paths to enriched learning,
http://library.link/vocab/subjectName
  • Data structures (Computer science)
  • Computer algorithms
  • COMPUTERS
  • Computer algorithms
  • Data structures (Computer science)
Label
Open data structures : an introduction, Pat Morin
Instantiates
Publication
Copyright
Bibliography note
Includes bibliographical references and index
Carrier category
online resource
Carrier category code
cr
Carrier MARC source
rdacarrier
Color
mixed
Content category
text
Content type code
txt
Content type MARC source
rdacontent
Contents
  • Cover; Front Matter; Contents; Acknowledgments; Why This Book?; 1. Introduction; 1.1 The Need for Efficiency; 1.2 Interfaces; 1.2.1 The Queue, Stack, and Deque Interfaces; 1.2.2 The List Interface: Linear Sequences; 1.2.3 The USet Interface: Unordered Sets; 1.2.4 The SSet Interface: Sorted Sets; 1.3 Mathematical Background; 1.3.1 Exponentials and Logarithms; 1.3.2 Factorials; 1.3.3 Asymptotic Notation; 1.3.4 Randomization and Probability; 1.4 The Model of Computation; 1.5 Correctness, Time Complexity, and Space Complexity; 1.6 Code Samples; 1.7 List of Data Structures
  • 1.8 Discussion and Exercises2. Array-Based Lists; 2.1 ArrayStack: Fast Stack Operations Using an Array; The Basics; Growing and Shrinking; Summary; 2.2 FastArrayStack: An Optimized ArrayStack; 2.3 ArrayQueue: An Array-Based Queue; 2.3.1 Summary; 2.4 ArrayDeque: Fast Deque Operations Using an Array; 2.4.1 Summary; 2.5 DualArrayDeque: Building a Deque from Two Stacks; 2.5.1 Balancing; 2.5.2 Summary; 2.6 RootishArrayStack: A Space-Efficient Array Stack; 2.6.1 Analysis of Growing and Shrinking; 2.6.2 Space Usage; 2.6.3 Summary; 2.6.4 Computing Square Roots; 2.7 Discussion and Exercises
  • 3. Linked Lists3.1 SLList: A Singly-Linked List; 3.1.1 Queue Operations; 3.1.2 Summary; 3.2 DLList: A Doubly-Linked List; 3.2.1 Adding and Removing; 3.2.2 Summary; 3.3 SEList: A Space-Efficient Linked List; 3.3.1 Space Requirements; 3.3.2 Finding Elements; 3.3.3 Adding an Element; 3.3.4 Removing an Element; 3.3.5 Amortized Analysis of Spreading and Gathering; 3.3.6 Summary; 3.4 Discussion and Exercises; 4. Skiplists; 4.1 The Basic Structure; 4.2 SkiplistSSet: An Efficient SSet; 4.2.1 Summary; 4.3 SkiplistList: An Efficient Random-Access List; 4.3.1 Summary; 4.4 Analysis of Skiplists
  • 4.5 Discussion and Exercises5. Hash Tables; 5.1 ChainedHashTable: Hashing with Chaining; 5.1.1 Multiplicative Hashing; 5.1.2 Summary; 5.2 LinearHashTable: Linear Probing; 5.2.1 Analysis of Linear Probing; 5.2.2 Summary; 5.2.3 Tabulation Hashing; 5.3 Hash Codes; 5.3.1 Hash Codes for Primitive Data Types; 5.3.2 Hash Codes for Compound Objects; 5.3.3 Hash Codes for Arrays and Strings; 5.4 Discussion and Exercises; 6. Binary Trees; 6.1 BinaryTree: A Basic Binary Tree; 6.1.1 Recursive Algorithms; 6.1.2 Traversing Binary Trees; 6.2 BinarySearchTree: An Unbalanced Binary Search Tree; 6.2.1 Searching
  • 6.2.2 Addition6.2.3 Removal; 6.2.4 Summary; 6.3 Discussion and Exercises; 7. Random Binary Search Trees; 7.1 Random Binary Search Trees; 7.1.1 Proof of Lemma 7.1; 7.1.2 Summary; 7.2 Treap: A Randomized Binary Search Tree; 7.2.1 Summary; 7.3 Discussion and Exercises; 8. Scapegoat Trees; 8.1 ScapegoatTree: A Binary Search Tree with Partial Rebuilding; 8.1.1 Analysis of Correctness and Running-Time; 8.1.2 Summary; 8.2 Discussion and Exercises; 9. Red-Black Trees; 9.1 2-4 Trees; 9.1.1 Adding a Leaf; 9.1.2 Removing a Leaf; 9.2 RedBlackTree: A Simulated 2-4 Tree; 9.2.1 Red-Black Trees and 2-4 Trees
Control code
841710249
Dimensions
unknown
Extent
1 online resource (357 pages).
Form of item
online
Isbn
9781299794641
Media category
computer
Media MARC source
rdamedia
Media type code
c
http://library.link/vocab/ext/overdrive/overdriveId
510715
Specific material designation
remote
System control number
(OCoLC)841710249
Label
Open data structures : an introduction, Pat Morin
Publication
Copyright
Bibliography note
Includes bibliographical references and index
Carrier category
online resource
Carrier category code
cr
Carrier MARC source
rdacarrier
Color
mixed
Content category
text
Content type code
txt
Content type MARC source
rdacontent
Contents
  • Cover; Front Matter; Contents; Acknowledgments; Why This Book?; 1. Introduction; 1.1 The Need for Efficiency; 1.2 Interfaces; 1.2.1 The Queue, Stack, and Deque Interfaces; 1.2.2 The List Interface: Linear Sequences; 1.2.3 The USet Interface: Unordered Sets; 1.2.4 The SSet Interface: Sorted Sets; 1.3 Mathematical Background; 1.3.1 Exponentials and Logarithms; 1.3.2 Factorials; 1.3.3 Asymptotic Notation; 1.3.4 Randomization and Probability; 1.4 The Model of Computation; 1.5 Correctness, Time Complexity, and Space Complexity; 1.6 Code Samples; 1.7 List of Data Structures
  • 1.8 Discussion and Exercises2. Array-Based Lists; 2.1 ArrayStack: Fast Stack Operations Using an Array; The Basics; Growing and Shrinking; Summary; 2.2 FastArrayStack: An Optimized ArrayStack; 2.3 ArrayQueue: An Array-Based Queue; 2.3.1 Summary; 2.4 ArrayDeque: Fast Deque Operations Using an Array; 2.4.1 Summary; 2.5 DualArrayDeque: Building a Deque from Two Stacks; 2.5.1 Balancing; 2.5.2 Summary; 2.6 RootishArrayStack: A Space-Efficient Array Stack; 2.6.1 Analysis of Growing and Shrinking; 2.6.2 Space Usage; 2.6.3 Summary; 2.6.4 Computing Square Roots; 2.7 Discussion and Exercises
  • 3. Linked Lists3.1 SLList: A Singly-Linked List; 3.1.1 Queue Operations; 3.1.2 Summary; 3.2 DLList: A Doubly-Linked List; 3.2.1 Adding and Removing; 3.2.2 Summary; 3.3 SEList: A Space-Efficient Linked List; 3.3.1 Space Requirements; 3.3.2 Finding Elements; 3.3.3 Adding an Element; 3.3.4 Removing an Element; 3.3.5 Amortized Analysis of Spreading and Gathering; 3.3.6 Summary; 3.4 Discussion and Exercises; 4. Skiplists; 4.1 The Basic Structure; 4.2 SkiplistSSet: An Efficient SSet; 4.2.1 Summary; 4.3 SkiplistList: An Efficient Random-Access List; 4.3.1 Summary; 4.4 Analysis of Skiplists
  • 4.5 Discussion and Exercises5. Hash Tables; 5.1 ChainedHashTable: Hashing with Chaining; 5.1.1 Multiplicative Hashing; 5.1.2 Summary; 5.2 LinearHashTable: Linear Probing; 5.2.1 Analysis of Linear Probing; 5.2.2 Summary; 5.2.3 Tabulation Hashing; 5.3 Hash Codes; 5.3.1 Hash Codes for Primitive Data Types; 5.3.2 Hash Codes for Compound Objects; 5.3.3 Hash Codes for Arrays and Strings; 5.4 Discussion and Exercises; 6. Binary Trees; 6.1 BinaryTree: A Basic Binary Tree; 6.1.1 Recursive Algorithms; 6.1.2 Traversing Binary Trees; 6.2 BinarySearchTree: An Unbalanced Binary Search Tree; 6.2.1 Searching
  • 6.2.2 Addition6.2.3 Removal; 6.2.4 Summary; 6.3 Discussion and Exercises; 7. Random Binary Search Trees; 7.1 Random Binary Search Trees; 7.1.1 Proof of Lemma 7.1; 7.1.2 Summary; 7.2 Treap: A Randomized Binary Search Tree; 7.2.1 Summary; 7.3 Discussion and Exercises; 8. Scapegoat Trees; 8.1 ScapegoatTree: A Binary Search Tree with Partial Rebuilding; 8.1.1 Analysis of Correctness and Running-Time; 8.1.2 Summary; 8.2 Discussion and Exercises; 9. Red-Black Trees; 9.1 2-4 Trees; 9.1.1 Adding a Leaf; 9.1.2 Removing a Leaf; 9.2 RedBlackTree: A Simulated 2-4 Tree; 9.2.1 Red-Black Trees and 2-4 Trees
Control code
841710249
Dimensions
unknown
Extent
1 online resource (357 pages).
Form of item
online
Isbn
9781299794641
Media category
computer
Media MARC source
rdamedia
Media type code
c
http://library.link/vocab/ext/overdrive/overdriveId
510715
Specific material designation
remote
System control number
(OCoLC)841710249

Library Locations

  • St. Louis Mercantile LibraryBorrow it
    1 University Blvd, St. Louis, MO, 63121, US
    38.710138 -90.311107
  • Thomas Jefferson LibraryBorrow it
    1 University Blvd, St. Louis, MO, 63121, US
    38.710138 -90.311107
  • University ArchivesBorrow it
    703 Lewis Hall, Columbia, MO, 65211, US
  • University of Missouri-St. Louis Libraries DepositoryBorrow it
    2908 Lemone Blvd, Columbia, MO, 65201, US
    38.919360 -92.291620
  • University of Missouri-St. Louis Libraries DepositoryBorrow it
    2908 Lemone Blvd, Columbia, MO, 65201, US
    38.919360 -92.291620
  • Ward E Barnes Education LibraryBorrow it
    8001 Natural Bridge Rd, St. Louis, MO, 63121, US
    38.707079 -90.311355
Processing Feedback ...