本书使用Python 和C++两种编程语言来介绍数据结构。全书内容共15 章。书中首先介绍了抽象与分析、数据的抽象等数据结构的基本原理和知识,然后结合Python 的特点介绍了容器类、链式结构和迭代器、堆栈和队列、递归、树;随后,简单介绍了C++语言的知识,并进一步讲解了C++类、C++的动态内存、C++的链式结构、C++模板、堆、平衡树和散列表、图等内容;最后对算法技术进行了总结。每章最后给出了一些练习题和编程练习,帮助读者复习巩固所学的知识。
本书适合作为高等院校计算机相关专业数据结构课程的教材和参考书,也适合对数据结构知识感兴趣的读者学习参考。
本书使用Python和C++两种编程语言来介绍数据结构。Python的面向对象特性, 让它成为一种非常适合用来学习数据结构课程的语言。C++的语法比Python更复杂,但是在学习了Python并掌握了基本的编程概念之后,学习C++的语法变得更为容易。
本书首先介绍了抽象与算法分析、数据的抽象等数据结构的基本原理和知识, 然后结合Python的特点介绍了容器类、链式结构和迭代器、堆栈和队列、递归、树;随后,简单介绍了C++语言的知识,并进一步讲解了C++类、C++的动态内存、C++的链式结构、C++模板、堆、平衡树和散列表、图等内容;最后对算法技术进行了总结。每章末尾给出了一些练习题和编程练习,帮助读者复习巩固所学的知识。
本书适合作为高等院校计算机相关专业数据结构课程的教材和参考书,也适合对数据结构感兴趣的读者学习参考。
随书附赠源代码,可在异步社区轻松下载。
戴维·M. 瑞德(David M. Reed) 美国Capital大学计算机科学系教授,负责教授Python和C++ 编程。他拥有俄亥俄州立大学计算机博士学位。
约翰·策勒(John Zelle)美国Wartburg 大学数学和计算机系教授。他负责教授Python 程序设计课程,是《Python程序设计(第3版)》一书的作者。
目 录
第 1 章 抽象与分析 1
1.1 概要 1
1.1.1 大型编程. 1
1.1.2 前方的道路 2
1.2 功能的抽象 3
1.2.1 契约式设计 3
1.2.2 验证先验条件 6
1.2.3 自上而下的设计. 9
1.2.4 记录副作用. 11
1.3 算法分析. 12
1.3.1 线性搜索 12
1.3.