本书共分九章:C/C++语言程序设计入门、模块化程序设计、数组、排序、线性结构、串与模式匹配、树与二叉树、图、排序与查找。主要内容包括:第一个程序模板;输入输出;计算(流程控制);利用牛顿迭代法求平方根;自顶向下等。
本书5尝武从简单的实际问题开始讨论,带领读者逐步深人学完整的数据结构及相关算法知识。在不得不从理论与实战之间做出选择时,本书会优先选择实践。很多初学者觉得数捌结构难学,究其原因是缺少足够的实战验,没有掌振正确的学。每一个数据结构知识点,都是通过对实际问题的长期思等与逐步抽象获得的,所以学投数据结构的正确方法也应该是这样。本书的目标之一,是努力做到从实践到理论,使读者在掌握相关实践验的基础上,能够通过自我扑象实战数据结构的典算法。
在能够使用数学归纳方式将算法讲清楚时,木书尽量采用数学归纳法描述基础思想,帮助读者从数学思维的角度思考算法并建立程序。数学归纳法天生就是为计算机科学及算法设计服务的。计算机科学家们都掌握着将大规模的复杂问题化简为小规模的相同简单何题的。几乎所有的计算机算法都有数学归纳的影子,当然不只是数学归纳的影子。
本书还将尽量引人一些除了数学归纳之外的数学知识,让读者体会到数学与算法设计的关系。其实很多知识之间都有一定的相关性,在学程中彼此验证、互相辅助,可达到融会贯通、倍的效果。
本书会有一些冗余代码,虽然很多数据结构图书的理论都无可挑剔,但对应的代码不多,不利于新手对知识的理解与应用。本书尽量从基础的始讲解,采用迭代的方法为读者展示编码的动态变化、思维的升级跃迁过程。
本书秉承的思想是从实际出发,自底向上地带领读者领悟、掌握数据结构这门课程,所有的例子和知识也是本着由简到繁的顺序安排,前而的代码与解决问题的思想、,后面一定会用上。建议读者每一章节都要掌握扎实,这是理解后面知识的基础。
希望本书能够给予刚刚学语言,又将步人数据结构学学者以正确的指引,提供一个更容易掌握数据结构的阶梯,为将来学握更复杂的算法知识打下坚实的基础,使其终能够根据不同的实际问题,设计并实现自己的数据结构及对应的算法本书强调的根本能力是读者的编码与实际应用能力,只有拥有合格的编程能力,才能更好地理解数据结构的相关知识,理解相关算法的应用场景,所以一定要本书中的代码,在编码中学,在编码中自我。
本书开始于年的那个的,无限感慨于祖国的伟大,为那些无私奉献、勇于担当、不怕的逆行者们而感动。同时感谢我的学生们,他们给了我无限的灵感和中肯的建议。
22年9月8日
第1章C/C++语育程序设计入门
第2章模块化程序设计义
第3章数组
第4章排序
第5章线性结构
第6章串与模式匹配
第7章树与二叉树
第8章图
第9章排序与查找