前言


人才培养,德育为先,德智双育,不可偏废。大学教育要培养专业化的人才以及可适应智能工业时代的新工科人才,但立德树人的宗旨丝毫不可偏离。只有这样,才能培养具有爱国情怀的新时代学生,才能以德报国,以智强国。
“数据结构与算法”是计算机及相关专业的一门核心专业基础课,是云计算、大数据处理和人工智能技术不可或缺的必备知识。在计算机课程的教学计划中,它起着核心主导、承上启下的作用,是培养学生程序设计能力的一门重要课程,也是大学生应聘和考研必修课程。我们在此新版中,以“讲做人做事的道理,树立社会主义核心价值观,培养担当民族复兴大业的时代新人”为旨,以“四大类数据结构、查找与排序两大类算法”为纲,根据学习内容的特点,引入了课程相关的科学家故事、中国历史知识以及新工业问题等素材。
此外,随着近年来计算机技术、移动互联技术、大数据分析以及智能技术的快速发展,计算机相关专业人才的就业形势空前严峻,用人单位对所招聘人员所具有的数据结构知识要求也越来越高。传统基础的数据结构设计与问题解决能力已经远不能满足行业需求,创造性思维是新时代计算机专业人才的必备素养。为此,我们在附录中给出了一些扩展阅读材料。这些材料中描述的问题都来源于实际科研问题,与正文中的案例相比,其涉及的数据对象和数据关系都更为复杂,需要设计更为有效的数据存储结构,才便于操作,并保证算法的性能。这些素材的提供可以加强学生分析数据以及组织数据的思维扩展能力,通过不断探索新问题激发其内在自生的潜力,提高其解决真实问题的能力。
与上一版教材相比,此版教材做了以下修改: 
(1) 增加了中国历史知识图谱、计算机超算发展史和一带一路等教学素材,以期培养学生的文化自信、科技自信以及大国包容精神,助其成长为有担当与爱国情怀的社会主义时代新人。
(2) 引入了马克思主义矛盾论与辩证法进行算法分析,培养学生的马克思主义哲学观,使其在科学研究中敢于打破固有既定的思维模式,进而培养其良好的专业素养与创新能力的自我生长。
(3) 对部分算法进行了优化,力求使复杂问题简单化,最大限度地提高算法的时空效率,让学生能够真正理解并掌握算法,并达到熟练应用的程度。
(4) 增加了一个附录,其中的算法或是实例均有一定的难度,一些是教师科研项目中的实例,另一些是有一定难度的系统设计,以期扩展学生的思维,提高学生解决实际问题的能力。
我们也在以上完善教材举措的基础之上,开始录制慕课,进行习题解答等辅助教材的编著等。同时,我们进行了全方位教学改革,拟采用线上线下混合式课堂、机房和智慧教室等多种教学方式,真正做到以学生为中心,教师做减法,学生做加法,充分挖掘学生自我学习的潜力。
本书第1版教材已经用了8年,收到了较好的效果,我校的计算机相关专业的本科生与研究生在程序设计方面有了长足的进步,保研的本科生被多所名校录取,培养的硕士研究生以其扎实的编程能力和算法设计能力被多家互联网公司和科研单位录用。为了适应教育部全面提升本科教学质量的号召,我们边教学边总结,准备启用全新的教学模式,以过程考核代替期终考核,希望第2版教材更便于学生自学,将更多的时间用于加强师生间的研讨和互动,切实使学生的程序设计能力有大幅度提升。本书还具有以下特点: 
(1) 加强对基本操作实现的函数形参的分析。每个基本操作都配以示意图,显示存放于内存中的数据对象在操作完成前后的变化,分析操作的对象、需要的输入和输出,以及操作是否引起数据对象的变化,帮助读者熟练掌握典型数据结构的基本操作的设计与实现。
(2) 针对初学者很难理解的递归算法执行过程,我们对较难理解的递归算法配以图表,揭示每一步的变化,将抽象的内容变为可以看到的具体过程,提升读者对递归算法的设计能力。
(3) 对于复杂的算法,采用图表结合的方式,将逻辑结构的变化和存储结构的变化同步展现,加强读者对算法的理解,使读者进一步掌握复杂算法的设计与实现。
(4) 本书作者就各章内容均与授课对象进行过多次交流,广泛听取学生的意见,并在第2版反映内容的更新和修改。
全书共8章,由林碧英统稿、审核。第1章、第7章和第8章由石敏编写;第2章和第3章由焦润海编写;第4~6章由林碧英编写。全书的课程思政内容均由石敏撰写。近期还将出版与教材配套的习题及解答。在教材的编写中可能还有很多不尽如人意的地方,恳请广大读者多提宝贵意见。

编写组2021年3月于北京