图书前言

前言

“数据结构”是本科计算机及相关专业的一门核心课程,也是计算机学科中的一门理论性较强的专业基础课。当我们用计算机求解实际问题时,必然涉及数据组织及数据处理,这些正是本课程的主要学习内容。所以,数据结构不仅是一般程序设计的必备知识,而且是设计其他应用系统程序的重要基础。数据结构与问题求解能力也是评判本科计算机类专业学生是否具有良好专业素养的标准。计算机类专业学生在学习时,要学会灵活运用各类数据结构和算法知识去解决生活中的一些实际问题。因此,掌握扎实的数据结构基本知识,对于今后的专业学习、各类中小型Web程序设计,以及大型软件系统开发与维护等格外重要。对于初学者来说,许多专业术语较为抽象,不容易理解和掌握,本书采用通俗的语言以及案例和图表讲解,便于读者真正理解和掌握。

党的二十大报告提出,坚持教育优先发展,科技自立自强,人才引领驱动,加快建设教育强国,科技强国,人才强国。随着国内人工智能及其相关技术的快速发展,作为学习人工智能技术的语言基础,Python语言以语法简单易懂、开发速度快捷、擅长数据分析与处理、拥有强大的第三方工具库等优势,已被广泛地应用于诸多人工智能领域,已成为主流的计算机程序设计语言之一,受到越来越多的人青睐。国内各高校计算机类专业均开设了“Python程序设计”课程,因此,本书采用Python作为数据结构的描述语言,其相比于传统的C/C++、Java语言,更容易学习。通过学习本书的内容,读者既可以加深对数据结构基本概念的理解和认识,又能提高对各种数据结构进行运算分析与设计的能力,也为今后学习人工智能领域的相关知识打下坚实的语言基础。

本书共8章,面向地方应用型本科计算机类专业“数据结构”课程教学目标,系统地介绍了数据结构中的各类线性结构、树结构、图结构,以及查找、排序方法,并用通俗易懂的语言图文并茂地阐述了各种数据结构的逻辑关系,以及在计算机中的存储表示及其运算等,每章的学习目标中还都潜移默化地融入了元素。为了同步解决课程实验教学问题,附录部分详细给出了6个难度不大但具有代表性的数据结构实验。考虑到地方应用型本科计算机类专业学生的算法设计能力与编程水平有限,每个实验都给出了完整的Python源代码,能够在Python IDLE环境下顺利运行,可供学生上机调试参考。本书参考学时为52学时(其中包括12个实验学时),各章的参考学时如表1所示。当然,在实际教学过程中,任课教师可根据实际教学安排适度增减教学内容或适时调整实验内容。需要说明的是,由于现在很多高校纷纷在国内一些知名MOOC平台上开设自己的“数据结构”课程,数据结构各类MOOC/SPOC学习资源也较为丰富,因此本课程若能采用“线上+线下”相结合的混合学习模式,教学效果会更佳,更好地培养学生的自主学习能力。表1学习内容参考学时分配表

学 习 内 容参考学时理论内容

(40学时)第1章绪论2第2章线性表4第3章栈与队列6第4章串、数组与广义表4第5章树8第6章图8第7章查找4第8章排序4实验内容

(12学时)实验1顺序表的基本操作2实验2链表的基本操作2实验3利用顺序栈实现数制转换2实验4二叉树的建立及递归遍历2实验5二叉树的应用2实验6折半插入排序算法的实现2本书是编者多年从事地方应用型本科高校“数据结构”课程的教学实践与感悟。是在对备课教案进行认真而系统的梳理后精心编写而成,同时也凝聚了多位一线任课教师的教学心血与教研成果。本书以安徽高校省级质量工程项目“卓越软件工程师培养计划”(编号: 2023zybj062)、“课程视域下基于OBE的地方应用型软件工程人才培养模式创新与实践”(编号: 2022jyxm494)、安徽省高校优秀拔尖人才培育项目“应用型本科软件工程专业新工科建设研究”(编号: gxbjZD2022087),以及安徽省高校优秀科研创新团队(编号: 2023AH010064)为依托,系项目研究成果之一。

本书由安徽三联学院余久久、安徽国际商务职业学院蔡政策、安徽声讯信息技术有限公司虞焰兴担任主编。安徽财贸职业学院凌勇、安徽粮食工程职业学院李昌群与唐珊、滁州学院陈杰、安徽国际商务职业学院王嫱担任副主编,共同完成编写。余久久负责完成全书内容的统稿工作。在成书过程中,也得到了安徽三联学院智慧交通现代产业学院凤鹏飞、张继山以及我校相关领导的大力支持。此外,安徽声讯信息技术有限公司葛阿平、徐勇也为该书部分内容的编写工作提出了很多宝贵的建议,在此表示衷心的感谢。

本着学习与借鉴的目的,本书在编写过程中参考了大量同类数据结构与算法方面的书籍及相关文献资料,以及百度、IT技术社区(论坛)、微信公众号、国内知名MOOC平台等推送的数据结构及算法应用方面的网络博文,在此谨向原作者表示诚挚的谢意。由于编者水平有限,加之时间仓促,书中的疏漏和不当之处仍在所难免,还望各位同行批评指正。

 编者2024年7月