36%
Objects, Abstraction, Data Structures and Design: Using C++

Objects, Abstraction, Data Structures and Design: Using C++

          
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

Koffman and Wolfgang introduce data structures in the context of C++ programming.  They embed the design and implementation of data structures into the practice of sound software design principles that are introduced early and reinforced by 20 case studies.  Data structures are introduced in the C++ STL format whenever possible.   Each new data structure is introduced by describing its interface in the STL. Next, one or two simpler applications are discussed then the data structure is implemented following the interface previously introduced. Finally, additional advanced applications are covered in the case studies, and the cases use the STL. In the implementation of each data structure, the authors encourage students to perform a thorough analysis of the design approach and expected performance before actually undertaking detailed design and implementation. Students gain an understanding of why different data structures are needed, the applications they are suited for, and the advantages and disadvantages of their possible implementations. Case studies follow a five-step process (problem specification, analysis, design, implementation, and testing) that has been adapted to object-oriented programming. Students are encouraged to think critically about the five-step process and use it in   their problem solutions. Several problems have extensive discussions of testing and include methods that automate the testing process. Some cases are revisited in later chapters and new solutions are provided that use different data structures. The text assumes a first course in programming and is designed for Data Structures or the second course in programming, especially those courses that include coverage of OO design and algorithms. A C++ primer is provided for students who have taken a course in another programming language or for those who need a review in C++.   Finally, more advanced coverage of C++ is found in an appendix. Course Hierarchy: Course is the second course in the CS curriculum Required of CS majors Course names include Data Structures and Data Structures & Algorithms

Table of Contents:
Preface iii Chapter P A C++ Primer 1 P.1 The C++ Environment 2 P.2 Preprocessor Directives and Macros 7 P.3 C++ Control Statements 12 P.4 Primitive Data Types and Class Types 16 P.5 Objects, Pointers, and References 23 P.6 Functions 29 P.7 Arrays and C Strings 33 P.8 The string Class 38 P.9 Input/Output Using Streams 44 Chapter Review, Exercises, and Programming Projects 59 Chapter 1 Introduction to Software Design 63 1.1 The Software Life Cycle 64 1.2 Using Abstraction to Manage Complexity 73 1.3 Defining C++ Classes 75 1.4 Abstract Data Types, Interfaces, and Pre- and Postconditions 98 1.5 Requirements Analysis, Use Cases, and Sequence Diagrams 102 1.6 Design of an Array-Based Phone Directory 108 1.7 Implementing and Testing the Array-Based Phone Directory 114 1.8 Completing the Phone Directory Application 121 Chapter Review, Exercises, and Programming Projects 125 Chapter 2 Program Correctness and Efficiency 129 2.1 Program Defects and “Bugs” 130 2.2 Exceptions 138 2.3 Testing Programs 148 2.4 Debugging a Program 160 2.5 Reasoning about Programs: Assertions and Loop Invariants 166 2.6 Efficiency of Algorithms 170 Chapter Review, Exercises, and Programming Projects 179 Chapter 3 Inheritance and Class Hierarchies 185 3.1 Introduction to Inheritance and Class Hierarchies 186 3.2 Member Function Overriding, Member Function Overloading, and Polymorphism 193 3.3 Abstract Classes, Assignment, and Casting in a Hierarchy 202 3.4 Multiple Inheritance 210 3.5 Namespaces and Visibility 213 3.6 A Shape Class Hierarchy 220 Chapter Review, Exercises, and Programming Projects 225 Chapter 4 Sequential Containers 231 4.1 Template Classes and the Vector 232 4.2 Applications of vector 238 4.3 Implementation of a vector Class 240 4.4 The Copy Constructor, Assignment Operator, and Destructor 247 4.5 Single-Linked Lists and Double-Linked Lists 252 4.6 The list Class and the Iterator 264 4.7 Implementation of a Double-Linked List Class 271 4.8 Application of the list Class 285 4.9 Standard Library Containers 292 4.10 Standard Library Algorithms and Function Objects 297 Chapter Review, Exercises, and Programming Projects 307 Chapter 5 Stacks 311 5.1 The Stack Abstract Data Type 312 5.2 Stack Applications 315 5.3 Implementing a Stack 325 5.4 Additional Stack Applications 332 Chapter Review, Exercises, and Programming Projects 351 Chapter 6 Queues and Deques 357 6.1 The Queue Abstract Data Type 358 6.2 Maintaining a Queue of Customers 362 6.3 Implementing the Queue ADT 365 6.4 The Deque 376 6.5 Simulating Waiting Lines Using Queues 380 Chapter Review, Exercises, and Programming Projects 398 Chapter 7 Recursion 403 7.1 Recursive Thinking 404 7.2 Recursive Definitions of Mathematical Formulas 412 7.3 Recursive Search 420 7.4 Problem Solving with Recursion 426 7.5 Backtracking 435 Chapter Review, Exercises, and Programming Projects 440 Chapter 8 Trees 445 8.1 Tree Terminology and Applications 447 8.2 Tree Traversals 454 8.3 Implementing a Binary_Tree Class 457 8.4 Binary Search Trees 466 8.5 Heaps and Priority Queues 484 8.6 Huffman Trees 496 Chapter Review, Exercises, and Programming Projects 505 Chapter 9 Sets and Maps 511 9.1 Associative Container Requirements 512 9.2 Maps and Multimaps 521 9.3 Hash Tables 530 9.4 Implementing the Hash Table 542 9.5 Implementation Considerations for the hash_map 555 9.6 Additional Applications of Maps 558 Chapter Review, Exercises, and Programming Projects 564 Chapter 10 Sorting 569 10.1 Using C++ Sorting Functions 570 10.2 Selection Sort 572 10.3 Bubble Sort 577 10.4 Insertion Sort 581 10.5 Comparison of Quadratic Sorts 586 10.6 Shell Sort: A Better Insertion Sort 588 10.7 Merge Sort 592 10.8 Heapsort 599 10.9 Quicksort 604 10.10 Testing the Sort Algorithms 614 10.11 The Dutch National Flag Problem (Optional Topic) 616 Chapter Review, Exercises, and Programming Projects 620 Chapter 11 Self-Balancing Search Trees 623 11.1 Tree Balance and Rotation 624 11.2 AVL Trees 628 11.3 Red-Black Trees 643 11.4 2-3 Trees 656 11.5 2-3-4 and B-Trees 663 Chapter Review, Exercises, and Programming Projects 681 Chapter 12 Graphs 691 12.1 Graph Terminology 692 12.2 The Graph ADT and Edge Class 697 12.3 Implementing the Graph ADT 701 12.4 Traversals of Graphs 715 12.5 Applications of Graph Traversals 727 12.6 Algorithms Using Weighted Graphs 734 Chapter Review, Exercises, and Programming Projects 743 Appendix A Advanced C++ Topics 755 A.1 Source Character Set, Trigraphs, Digraphs, and Alternate Keywords 755 A.2 The Allocator 756 A.3 Traits 757 A.4 Virtual Base Classes 759 A.5 Smart Pointers 764 Appendix B Overview of UML 769 B.1 The Class Diagram 770 B.2 Sequence Diagrams 776 Appendix C The CppUnit Test Framework 779 Glossary 783 Index 795


Best Sellers


Product Details
  • ISBN-13: 9780471467557
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Depth: 32
  • Language: English
  • Returnable: N
  • Series Title: English
  • Sub Title: Using C++
  • Width: 191 mm
  • ISBN-10: 0471467553
  • Publisher Date: 11 Nov 2005
  • Binding: Paperback
  • Height: 234 mm
  • No of Pages: 832
  • Returnable: N
  • Spine Width: 33 mm
  • Weight: 1247 gr


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
Objects, Abstraction, Data Structures and Design: Using C++
John Wiley & Sons Inc -
Objects, Abstraction, Data Structures and Design: Using C++
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.

Objects, Abstraction, Data Structures and Design: Using C++

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