前 言
程序设计课程着重于计算思维的训练,也就是分析与分解问题能力的培养,同时借助程序设计语言实现具体的算法,从而训练学生系统化的逻辑思维。C++语言是以C语言为基本的架构,再导入面向对象的概念,除了继承C语言的优点外,还保有C语言的兼容性。本书通过丰富的范例程序,在培养读者养成计算思维习惯的同时进行算法逻辑的编程训练。
对于第一次接触计算思维与算法的初学者来说,使用大量的文字来说明算法逻辑常会造成初学者的学习障碍与挫折感。为了避免教学和阅读上的不顺畅,本书中的算法不以伪代码来说明,而是采用C++语言来实现这些算法。另外,本书以丰富的图例和简洁明了的文字来阐述各种计算思维与算法逻辑,让初学者在建立计算思维的同时掌握算法逻辑的运用。
本书从介绍计算思维与程序设计两者之间的关系展开,谈到如何培养计算思维的4个部分:分解、模式识别、模式概括与抽象、算法。接着介绍经典算法的分类:分治法、递归法、动态规划法、迭代法、枚举法、回溯法及贪心法。介绍了这些基础知识之后,在接下来的各章中分别介绍排序算法、查找算法、数组与链表算法、安全性算法、堆栈与队列算法、树结构及其算法和图结构及其算法,并搭配了C++语言实现的完整范例程序。
为了便于读者学习,本书配有教学视频,读者只需扫描正文中的二维码即可观看。本书范例程序的源代码和PPT课件可通过扫描下方二维码获取:
范例程序 PPT
如果下载有问题,可通过电子邮件联系booksaga@126.com,邮件主题为“图解算法:C++语言实现+视频教学版”。
为了检验学习者的学习成果,每一章的最后都安排了与本章重点内容相关的习题,让读者有更多实战演练计算思维和算法的机会。
最后,希望所有学习者通过本书的学习都可以培养逻辑思维能力,进而应用在自己工作和生活的方方面面。
作者
2023年10月