译 者 序
数据结构是计算机专业的核心课程,是计算机软件开发和应用人员必备的专业基础。今天的大多数关于数据结构的图书都是大学教科书,而本书可用于自学,更适合与使用C++程序设计语言的数据结构方面的常规课程配合使用。
本书首先复习了C++的基础知识,然后介绍了数据结构的相关内容,包括递归、栈、队列、链表、表、树、二叉树、查找树、堆和优先级队列、排序。本书附录中列出了相关的参考资源,提供了必要的数学知识,并给出了一些算法和类的源代码实现。
本书包含大量的示例,有助于读者从中举一反三,深入学习数据结构方面的相关知识。在每一章末还提供了相关的复习题和问题,有利于学生巩固所学的知识,并且给出了所有复习题和问题的答案,为学生学习提供了方便。
本书内容简明扼要、结构组织合理、示例丰富,非常适合于高等院校计算机专业的学生阅读,对于从事计算机软件开发的人员,也将从本书中受益匪浅。
参加本书翻译的人员有陈宗斌、陈红霞、张景友、易小丽、陈婷、管学岗、王新彦、金惠敏、张海峰、徐晔、戴锋、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、申川、孙玲、李振国、高德杰、宫飞、侯经国、刘淑妮、张春林、李大成、程明、张路红、张淑芝、孙先国、刘冀得、梁永翔、张广东、郁琪琳、邵长凯、蒲书箴、潘曙光、刘瑞东、李军、焦敬俭等。
由于时间紧迫,加之译者水平有限,错误在所难免,恳请广大读者批评指正。
2
数据结构学习指导与习题解答(C++语言版)
23
第1章 C++复习
出 版 说 明
计算机专业知识学习的最佳方式,就是阅读良好设计且具有完整解释的示例,并自己动手进行实践练习。本系列图书就是遵循这种写作风格,每本书首先简明扼要地说明其重要知识点,然后通过大量丰富的示例和习题,并给出详尽的答案,让读者全面透彻地理解概念,掌握每个知识点,使读者能举一反三,灵活运用理论知识解决实际问题,并检验知识的掌握程度,因此,本系列图书不仅很适合自学,也非常适合用作高等院校计算机专业核心课程的参考教材或辅助教材。
本系列图书包括:
* 计算机科学导论学习指导与习题解答
* 离散数学学习指导与习题解答
* 数据结构学习指导与习题解答(C++语言版)
* 数据结构学习指导与习题解答(Java语言版)
* C++程序设计学习指导与习题解答
* Java程序设计学习指导与习题解答
* 操作系统学习指导与习题解答
* 计算机体系结构学习指导与习题解答
* 软件工程学习指导与习题解答
* 计算机网络学习指导与习题解答
* 关系数据库基础学习指导与习题解答
* 计算机图形学学习指导与习题解答
本系列图书由“计算机专业课程研究组”策划、翻译和审校,读者如对本书有任何建议和意见,请来信:tuppub.cs@gmail.com。
2
数据结构学习指导与习题解答(C++语言版)
23
第1章 C++复习
前 言
像Schaum's Outline系列的所有图书一样,本书可用于自学,但更适合与使用C++程序设计语言的数据结构方面的常规课程配合使用。
本书包括200多个示例和问题。作者坚定地相信可以从良好构造的示例及完整解释的集合中学习数据结构的原理。本书旨在提供这种支持。
可以从作者的Web站点(http://www.richmond.edu/~hubbard、http://www.jhubbard.net或http://www.projectEuclid.net)下载本书中所有示例和问题的源代码。这些站点还包含针对本书的任何校正和补充材料。
我感谢我的所有朋友、同事、学生以及McGraw-Hill的工作人员,他们对本书原稿给出了至关重要的评论,从而给我提供了帮助。特别感谢我的妻子Anita Hubbard,感谢她的建议、鼓励,以及为本书提供的一些创造性问题。本书中使用的许多原创性的思想都来自于她。
John R. Hubbard
弗吉尼亚州里士满市