前言
党的二十大报告指出: 教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。高等教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
数据结构和算法是计算机科学的核心领域,是计算机程序的基础。能否正确、恰当地使用数据结构和相应的算法决定了程序的性能和效率。“数据结构与算法”一直是计算机科学与技术、软件工程等专业的一门重要的必修课程。
本书面向有一定C++语言基础的读者,重点讲解重要的数据结构和相关算法以及重要的基础算法和经典算法思想。全书共14章,分别是数据结构概述、算法复杂度、递归算法、数组、链表与list类、顺序表与vector类、栈与stack类、队列与deque类、二叉树与set类、散列表与unordered_map类、集合与unordered_set类、常用算法与algorithm库、图论和经典算法思想。
本书具有以下主要特色。
1. 注重夯实基础
注重讲解每种数据结构的特点,并结合例子讲解如何正确使用相应的数据结构和算法,特别强调分析基础算法的特点,以便读者通透理解和正确使用这些基础算法。
2. 关注实用性
数据结构和算法与计算机科学紧密关联,常应用于解决现实中的问题。本书注重结合经典问题和实际问题,使读者在学习数据结构和算法后能加深对实际问题的理解,并提高解决实际问题的能力。
3. 强调培养能力
本书强调“数据结构与算法”课程的重要性和意义不仅仅在于学习数据结构和算法本身,而是应该同时注重训练、提高学习者的编程能力。书中精选了一些经典和实用性强的算法思想,并结合一些经典的问题体现这些算法思想的精髓,有利于帮助读者掌握如何设计和实现高效、优秀的算法。
4. 体现语言特色
本书特别注重体现C++语言的特色,除前3章外,各章的大部分代码都体现了C++的特色和C++在算法实现方面的优势。全书提供了丰富的例子和习题,例子中的全部代码都是用C++语言编写的完整代码。所有的例子都有详细的解释,都是可以运行的,同时也给出了运行效果图,这非常有利于读者理解代码、提高编程能力。
本书以中国美丽的二十四节气开始,以经典的八皇后问题结束。本书的全部示例由作者编写并在DEVC++环境下调试完成(需要支持C++11的编译器)。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、在线作业和习题答案。
资源下载提示
课件等资源: 扫描封底的“图书资源”二维码,在公众号“书圈”下载。
素材(源码)等资源: 扫描目录上方的二维码下载。
在线自测题: 扫描封底的作业系统二维码,再扫描自测题二维码,可以在线做题及查看答案。
本书示例代码及相关内容仅供学习使用,不得以任何方式抄袭出版。
希望本书能对读者学习数据结构和算法有所帮助,并恳请读者批评指正。
编者
2025年1月