Our website is currently undergoing technical upgrades to serve you better. We’ll be back online shortly.
Home > Art, Film & Photography > Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)
11%
Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)

Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)

          
5
4
3
2
1

International Edition


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Quantity:
Add to Wishlist

About the Book

This is the eBook of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book. Data Abstraction and Problem Solving with C++: Walls & Mirrors provides a firm foundation in data abstraction that emphasizes the distinction between specifications and implementation as the basis for an object-oriented approach. Software engineering principles and concepts as well as UML diagrams are used to enhance student understanding.

Table of Contents:
Chapter 1 Data Abstraction: The Walls 1.1 Object-Oriented Concepts 1.1.1 Object-Oriented Analysis and Design 1.1.2 Aspects of an Object-Oriented Solution 1.2 Achieving a Better Solution 1.2.1 Cohesion 1.2.2 Coupling 1.3 Specifications 1.3.1 Operation Contracts 1.3.2 Unusual Conditions 1.3.3 Abstraction 1.3.4 Information Hiding 1.3.5 Minimal and Complete Interfaces 1.4 Abstract Data Types 1.4.1 Designing an ADT 1.4.2 ADTs that suggest other ADTs 1.5 The ADT Bag 1.5.1 Identifying Behaviors 1.5.2 Specifying Data and Operations 1.5.3 An Interface Template for the ADT 1.5.4 Using the ADT Bag C++ Interlude 1  C++ Classes C1.1 A Problem to Solve C1.1.1 Private Data Fields C1.1.2 Constructors and Destructor C1.1.3 Methods C1.1.4 Preventing Compiler Errors C1.2 Implementing a Solution C1.3 Templates C1.4 Inheritance C1.4.1 Base Classes and Derived Classes C1.4.2 Overriding Base Class Methods C1.5 Virtual Methods and Abstract Classes C1.5.1 Virtual Methods C1.5.2 Abstract Classes Chapter 2 Recursion: The Mirrors 2.1 Recursive Solutions 2.2 Recursion That Returns a Value 2.2.1 A Recursive Valued Function: The Factorial of n 2.2.2 The Box Trace 2.3 Recursion That Performs an Action 2.3.1 A Recursive void Function: Writing a String Backward 2.4 Recursion with Arrays 2.4.1 Writing an Array’s Entries in Backward Order 2.4.2 The Binary Search 2.4.3 Finding the Largest Value in an Array 2.4.4 Finding the kth Smallest Value of an Array 2.5 Organizing Data 2.5.1The Towers of Hanoi 2.6 More Examples 2.6.1 The Fibonacci Sequence (Multiplying Rabbits) 2.6.2 Organizing a Parade 2.6.3 Choosing k Out of n Things 2.7 Recursion and Efficiency Chapter 3  Array-Based Implementations 3.1 The Approach 3.1.1 Core Methods 3.1.2 Using Fixed-Size Arrays 3.2 An Array-Based Implementation of the ADT Bag 3.2.1 The Header File 3.2.2 Defining the Core Methods 3.2.3 Testing the Core Methods 3.2.4 Implementing More Methods 3.2.5 Methods That Remove Entries 3.2.6 Testing 3.3 Using Recursion in the Implementation C++ Interlude 2 Pointers, Polymorphism, and Memory Allocation C2.1 Memory Allocation for Variables and Early Binding of Methods C2.2 A Problem to Solve C2.3 Pointers and the Program Free Store C2.3.1 Deallocating Memory C2.3.2 Avoiding Memory Leaks C2.3.3 Avoiding Dangling Pointers C2.4 Virtual Methods and Polymorphism C2.5 Dynamic Allocation of Arrays C2.5.1 A Resizable Array-Based Bag Chapter 4 Link-Based Implementations 4.1 Preliminaries 4.1.1 The Class Node 4.2 A Link-Based Implementation of the ADT Bag 4.2.1 The Header File 4.2.2 Defining the Core Methods 4.2.3 Implementing More Methods 4.3 Using Recursion in Link-Based Implementations 4.3.1 Recursive Definitions of Methods in LinkedBag 4.4 Comparing Array-Based and Link-Based Implementations Chapter 5 Recursion as a Problem-Solving Technique 5.1 Defining Languages 5.1.1 The Basics of Grammars 5.1.2 Two Simple Languages 5.3 Algebraic Expressions 5.2.1 Kinds of Algebraic Expressions 5.2.2 Prefix Expressions 5.2.3 Postfix Expressions 5.2.4 Fully Parenthesized Expressions 5.3 Backtracking 5.3.1 Searching for an Airline Route 5.3.2 The Eight Queens Problem 5.4 The Relationship Between Recursion and Mathematical Induction 5.4.1 The Correctness of the Recursive Factorial Function 5.4.2 The Cost of Towers of Hanoi Chapter 6 Stacks 6.1 The Abstract Data Type Stack 6.1.1 Developing an ADT During the Design of a Solution 6.1.2 Specifications for the ADT Stack 6.2 Simple Uses of a Stack 6.2.1 Checking for Balanced Braces 6.2.2 Recognizing Strings in a Language 6.3 Using Stacks with Algebraic Expressions 6.3.1 Evaluating Postfix Expressions 6.3.2 Converting Infix Expressions to Equivalent Postfix Expressions 6.4 Using a Stack to Search a Flight Map 6.5 The Relationship Between Stacks and Recursion C++ Interlude 3 Exceptions C3.1 Background C3.1.1 A Problem to Solve C3.2 Assertions C3.3 Throwing Exceptions C3.4 Handling Exceptions C3.1.1 Multiple catch Blocks C3.1.2 Uncaught Exceptions C3.5 Programmer-Defined Exception Classes Chapter 7 Stack Implementations 7.1 An Array-Based Implementation 7.2 A Linked Implementation 7.3 Comparing Implementations Chapter 8 Lists 8.1 Specifying the Abstract Data Type List 8.2 Using the List Operations 8.3 Specifications of the ADT List Using Exceptions    Chapter 9 List Implementations 9.1 An Array-Based Implementation of the ADT List 9.1.1 The Header File 9.1.2 The Implementation File 9.2 A Linked Implementation of the ADT List 9.2.1 The Header File 9.2.2 The Implementation File 9.2.3 Using Recursion To Process a Linked Chain 9.3 Comparing Implementations Chapter 10 Algorithm Efficiency 10.1 What Is a Good Solution? 10.2 Measuring the Efficiency of Algorithms 10.2.1 The Execution Time of Algorithms 10.2.2 Algorithm Growth Rates 10.2.3 Order-of-Magnitude Analysis and Big O Notation 10.2.4 Keeping Your Perspective 10.2.5 The Efficiency of Searching Algorithms Chapter 11 Sorting Algorithms and Their Efficiency 11.1 Basic Sorting Algorithms 11.1.1 Selection Sort 11.1.2 Bubble Sort 11.1.3 Insertion Sort 11.2 Faster Sorting Algorithms 11.2.1 Merge Sort 11.2.2 Quick Sort 11.2.3 Radix Sort 11.3 A Comparison of Sorting Algorithms 11.4 The Standard Template Library: Sorting Algorithms C++ Interlude 4 Class Relationships and Reuse C4.1 Inheritance Revisited C4.1.1 Public, Private, and Protected Sections of a Class C4.1.2 Public, Private, and Protected Inheritance C4.1.3 Is-a and As-a Relationships C4.2 Containment: Has-a Relationships C4.3 Abstract Base Classes Revisited Chapter 12 Sorted Lists and Their Implementations 12.1 Specifying the ADT Sorted List 12.1.1 An Interface Template for the ADT Sorted List 12.1.2 Using the Sorted List Operations 12.2 A Link-Based Implementation 12.2.1 The Header File 12.2.3 The Implementation File 12.2.3 The Efficiency of the Link-Based Implementation 12.3 Implementations That Use the ADT List 12.3.1 Composition 12.3.2 Public Inheritance 12.3.3 Private Inheritance Chapter 13 Queues and Priority Queues 13.1 The ADT Queue 13.2 Simple Applications of a Queue 13.2.1 Reading a String of Characters 13.2.2 Recognizing Palindromes 13.3 The ADT Priority Queue 13.4.1 Tracking Your Assignments 13.4 Application: Simulation 13.5 Position-Oriented and Value-Oriented ADTs Chapter 14 Queue Implementations 14.1 Implementations of the ADT Queue 14.1.1 An Implementation That Uses the ADT List 14.1.2 A Link-Based Implementation 14.1.3 An Array-Based Implementation 14.1.4 Comparing Implementations 14.2 An Implementation of the ADT Priority Queue C++ Interlude 5 Overloaded Operators and Friend Classes Overloading Operators Overloading the Stream Operators << and >> Friend Classes and Data Member Access Chapter 15 Trees 15.1 Terminology 15.1.1 Kinds of Trees 15.1.2 The Height of Trees 15.1.3 Full, Complete, and Balanced Binary Trees 15.1.4 The Maximum and Minimum Heights of a Binary Tree 15.2 The ADT Binary Tree 15.2.1 Binary Tree Operations 15.2.2 An Interface Template for the ADT Binary Tree 15.2.3 Traversals of a Binary Tree 15.3 The ADT Binary Search Tree 15.3.1 Binary Search Tree Operations 15.3.2 An Interface Template for the ADT Binary Tree 15.3.3 Searching a Binary Search Tree 15.3.4 Creating a Binary Search Tree 15.3.5 Traversals of a Binary Search Tree Chapter 16 Tree Implementations 16.1 Implementations of the ADT Binary Tree 16.1.1 A Link-Based Implementation 16.1.2 An Array-Based Implementation 16.1.3 Efficiency of Implementations 16.2 An Implementation of the ADT Binary Search Tree 16.2.1 Algorithms for Insertion, Deletion, and Traversal 16.2.2 A Link-Based Implementation 16.2.3 Efficiency of the Implementation 16.2.4 Saving a Binary Search Tree in a File C++ Interlude 6 Iterators Iterator Introduction A List Iterator and Its Use A BST Tree Iterator and Its Use Chapter 17 Heaps An Array-Based Implementation A Heap as a Priority Queue The Heap Sort Chapter 18 Dictionaries and Their Implementations Dictionaries and Key-Value Pairs Linear (Array and Linked) and Hierarchical (Tree) Implementations Hash Functions Resolving Collisions A Hashing Implementation The Efficiency of Hashing Chapter 19 Balanced Search Trees   AVL Trees 2-3 Trees 2-3-4 Trees Red-Black Trees Chapter 20 Graphs 20.1 Terminology 20.2 Graphs as ADTs 20.2.1 Implementing Graphs 20.3 Graph Traversals 20.3.1 Depth-First Search 20.3.2 Breadth-First Search 20.4 Applications of Graphs 20.4.1 Topological Sorting 20.4.2 Spanning Trees 20.4.3 Minimum Spanning Trees 20.4.4 Shortest Paths 20.4.5 Circuits 20.4.6 Some Difficult Problems Chapter 21 Processing Data in External Storage 21.1 A Look at External Storage 21.2 A Sorting Data in an External File 21.3 External Searches 21.3.1 Indexing an External File 21.3.2 External Hashing 21.3.3 B-Trees 21.3.4 Traversals 21.3.5 Multiple Indexing C++ Interlude 7 The Standard Template Library Introduction to Templates and the STL Generalizing the ADT Node and List Appendix A Review of C++ Fundamentals Appendix B Important Themes in Programming (currently Section 1.3) Appendix C The Unified Modeling Language (currently in section 1.1) Appendix D The Software Life Cycle (currently section 1.1) Appendix E Mathematical Induction (currently Appendix D) Appendix F Algorithm Verification (currently in section 1.2) Appendix G  Files Appendix H  C++ Header Files and Standard Functions (currently Appendix C) Appendix I C++ Standard Template Library (currently Appendix E) Appendix J C++ Documentation Systems (currently Appendix F) Appendix K ASCII Character Codes (currently Appendix B) Appendix L A Comparison of C++ and Java Appendix M A Comparison of C++ and Python


Best Sellers


Product Details
  • ISBN-13: 9780132923859
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Pearson
  • Language: English
  • ISBN-10: 0132923858
  • Publisher Date: 28 Oct 2018
  • Binding: Digital (delivered electronically)
  • Sub Title: Walls and Mirrors (2-download)


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)
Pearson Education (US) -
Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Data Abstraction & Problem Solving with C++: Walls and Mirrors (2-download)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA