1 option
Data structures and algorithms in C++ / Lee Wittenberg.
- Format:
- Book
- Author/Creator:
- Wittenberg, Lee, author.
- Series:
- Pocket primer.
- Pocket Primer
- Language:
- English
- Subjects (All):
- Data structures (Computer science).
- C++ (Computer program language).
- Physical Description:
- 1 online resource (169 pages) : illustrations.
- Edition:
- 1st ed.
- Place of Publication:
- Dulles, Virginia ; Boston, Massachusetts ; New Delhi, [India] : Mercury Learning & Information, 2018.
- Summary:
- This book takes a minimalist approach to the traditional data structures course. It covers only those topics that are absolutely essential; the more esoteric structures and algorithms are left for later study. Suitable for an introductory data structures course or self-study, this book is written from the ground up in C++ (not translated from a Java-based text), and uses features of the C++ Standard Template Library to illustrate important concepts. A unique feature of the text is its use of literate programming techniques (originally developed by Donald Knuth) to present the sample code in a way that keeps the code from overwhelming the accompanying explanations. This book is suitable for an undergraduate data structures course using C++ or for developers needing review.Features* Takes a "minimalist" approach to the material that presents only essential concepts. This enables readers to focus on (and remember) just what they'll need.* Uses select features of the C++11 standard to simplify the sample code and make it easier to understand.* Connects the concepts directly to the classes provided the Standard Template Library (STL), and shows how these classes can be implemented in C++. * Uses "literate programming" techniques that allow the presentation of the sample code to more clearly show the details of the code as well as how the pieces fit together.
- Contents:
- Intro
- Title Page
- Copyright
- Contents
- Preface
- Acknowledgments
- Chapter 1: C++ Review
- 1.1 The auto Keyword
- 1.2 Classes
- 1.2.1 Example: A Fraction Class
- 1.3 Pointers and Arrays
- 1.4 Inheritance
- 1.5 Templates
- 1.6 The Standard Template Library (STL)
- 1.6.1 Containers
- 1.6.2 Iterators
- 1.6.3 Algorithms
- 1.7 Putting It All Together: A Vector Class
- 1.7.1 Constructors/Destructors
- 1.7.2 Member Functions
- 1.7.3 Iterators
- Chapter 2: Algorithm Analysis
- 2.1 Big-O Notation
- 2.1.1 Terminology
- 2.2 Efficiency of Vector Operations
- 2.3 Estimates and Comparisons
- 2.4 Fast Enough
- Chapter 3: Linked Lists
- 3.1 The list Interface
- 3.2 List Implementation
- 3.2.1 Constructors/Destructors
- 3.2.2 Member Functions
- 3.2.3 Iterators
- Chapter 4: Stacks and Queues
- 4.1 The stack and queue Interfaces
- 4.2 Example: Infix and Postfix
- 4.3 Stack and Queue Implementation
- 4.3.1 Constructors/Destructors
- 4.3.2 Member Functions
- Chapter 5: Recursion
- 5.1 Recursive Definitions
- 5.2 Proof by Induction
- 5.3 Example: Binary Search
- 5.4 Example: Tower of Hanoi
- 5.5 Example: Recursive Descent Parsing
- 5.6 The Efficiency of Recursion
- Chapter 6: Binary Trees
- 6.1 Traversals
- 6.2 Example: Expression Trees
- 6.3 Example: Binary Search Trees
- 6.4 The set and map Interfaces
- 6.5 Example: Associative Arrays
- 6.6 Example: Sparse Matrices
- 6.7 A Binary_Search_Tree Class
- 6.7.1 Constructors/Destructors
- 6.7.2 Member Functions
- 6.7.3 Iterators
- 6.8 Set and Map Implementation
- 6.8.1 Constructors/Destructors
- 6.8.2 Member Functions
- 6.8.3 Iterators
- Chapter 7: Binary Trees (continued)
- 7.1 Height-Balanced Trees
- 7.2 General Trees
- 7.3 Heaps
- 7.4 The priority_queue Interface
- 7.5 Priority_Queue Implementation
- 7.5.1 Constructors/Destructors.
- 7.5.2 Member Functions
- Chapter 8: Sorting
- 8.1 Bubble Sort (Revised)
- 8.2 Selection Sort
- 8.3 Insertion Sort
- 8.4 Shell Sort
- 8.5 Heap Sort
- 8.6 Merge Sort
- 8.7 Quick Sort
- 8.8 The STL sort Function
- Chapter 9: Hash Tables
- 9.1 Hash Functions
- 9.2 Collisions
- 9.2.1 Probing
- 9.2.2 Chaining
- 9.3 Load Factors and Efficiency
- 9.4 Rehashing
- 9.5 The unordered_set and unordered_map Interfaces
- 9.6 A Hash_Table Class
- 9.6.1 Constructors/Destructors
- 9.6.2 Member Functions
- 9.6.3 Iterators
- 9.7 Unordered_Set and Unordered_Map Implementation
- 9.7.1 Constructors/Destructors
- 9.7.2 Member Functions
- 9.7.3 Iterators
- Chapter 10: Graphs
- 10.1 Graph Representations
- 10.1.1 Adjacency Matrix
- 10.1.2 Adjacency Lists
- 10.2 Traversals
- 10.2.1 Depth-First Search
- 10.2.2 Breadth-First Search
- 10.3 Example: Topological Sorting
- 10.4 Example: Shortest Path
- 10.5 A Graph Interface
- 10.6 Graph Implementation
- 10.6.1 Constructors/Destructors
- 10.6.2 Member Functions
- Appendix A: A Programmer's Library
- Appendix B: STL Class Summary
- Appendix C: Chunk Index
- Index.
- Notes:
- Includes index.
- Description based on print version record.
- ISBN:
- 9781683920854
- 1683920856
- OCLC:
- 993106615
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.