Have a personal or library account? Click to login
Data Structures and Algorithms Using Python and C++ Cover

Data Structures and Algorithms Using Python and C++

Paid access
|Aug 2009
Product purchase options

THIS BOOK is intended for use in a traditional college-level data structures course (commonly known as CS2). This book assumes that students have learned the basic syntax of Python and been exposed to the use of existing classes. Most traditional CS1 courses that use Python will have covered all the necessary topics, and some may have covered a few of the topics covered in this book. We have found that most students successfully completing a CS1 course know how to use classes, but many of them need more experience to learn how to design and write their own classes. We address this issue by including a number of examples of class design in the first few chapters of this book.

Python’s object-oriented features make it an elegant language for starting a data structures course, but one potential drawback of Python for a data structures course is that it hides the complexity of memory management. This is a benefit in a first course, but we think that in a second course it is important that students begin to understand some of these low-level details that the Python interpreter hides from them. Since we can cover the basic data structures in less time using Python, there is time to learn a second language, even in a single-semester CS2 course. After the students have continued to improve their Python programming skills while covering the first few chapters of the book, it is relatively easy for them to learn a second object-oriented language. By using C++ as the second language, the students are exposed to a lower-level, compiled language. The syntax of C++ is more complicated than Python, but that is a relatively small hurdle once students have mastered fundamental programming concepts using Python. For example, now that they understand the basic concepts of programming and the semantics of statements such as conditional statements and looping statements, they can focus on learning the C++ syntax for these statements.

Table of Contents:

1. Abstraction and Analysis
2. Data Abstraction
3. Container Classes
4. Linked Structures and Iterators
5. Stacks and Queues
6. Recursion
7. Trees
8. C++ Introduction for Python Programmers
9. C++ Classes
10. C++ Dynamic Memory
11. C++ Linked Structure
12. C++ Templates
13. Heaps, Balanced Trees, and Hash Tables
14. Graphs
15. Algorithm Techniques
PDF ISBN: 978-1-59028-267-0
Publisher: Franklin, Beedle & Associates Inc.
Copyright owner: © 2009 Franklin Beedle & Associates Inc.
Publication date: 2009
Language: English
Pages: 568