数据结构与算法课程是计算机大类相关专业的的一门重要专业基础课,它的核心位置毋庸置疑,既是操作系统、软件工程、数据库概论、编译技术等课程的基础,同时也是从事计算机相关工作必须掌握的专业基础素养。本课程旨在讲解实用的数据结构与算法,包括线性表、栈和队列、树和二叉树、图等基本数据结构;AVL树、红黑树、Merkle树、Trie树等复杂数据结构;以及检索和排序等重要操作算法。点明数据结构应用的多个领域以及课程间的关联。例如Linux中用到的双循环链表数据结构,编译原理中的表达式计算、区块链中用到的Merkle树、人工智能词汇切分中用到的Trie树,让大家感受数据结构的博大精深和无限魅力。
通过本课程的学习,使学习者能够针对具体问题选择合适的数据结构,以合理地组织数据、有效地存储和处理数据,以锻炼数据抽象能力;使学习者能够将数据结构和应用付诸编程实践,正确地设计、编制高效算法,并对算法进行分析和评价,以锻炼良好的程序设计开发技能;使学习者能够应用工程知识和专业背景知识分析复杂工程问题,进行复杂程序设计的训练,解决工程实践问题,以锻炼学习者的工程实践能力;
本课程在每章开头视频,通过两个关键词进行章节主要内容概览。课程视频侧重理论和实践紧密结合,按照基本结构操作-算法讲解与实现-数据结构基本应用-应用扩展实践的路线讲解,不但锻炼你的抽象思维能力,更侧重动手实践能力的培养,注重基本数据结构的算法设计与实现以及它们的应用场景,在高度抽象和高度具体之间搭起一座桥梁。200多个视频片段有助于你自主地碎片化学习;CodeByCode视频直接在开发环境中讲解代码,使你“所见即所得”,减少起步的挫败感、增加自信;课后作业讲解视频进一步提升你的算法设计和动手能力。
本课程采用张瑞霞、张敬伟编写的21世纪高等学校规划教材《数据结构与算法》(清华大学出版社)。适合高等院校计算机相关专业的本科生学习,也适合高职院校计算机相关专业的学生学习,算法采用C语言描述,要求学习者具有C语言程序设计基础即可。
本课程的学习环节包括章节测试、编程练习、课程讨论和期末测试等四部分组成,其成绩比例分别占25%,30%,5%和40%。
计算机基础和C语言
[1]张瑞霞、张敬伟 编著. 数据结构与算法[M]. 北京:清华大学出版社,2018.
[2]张瑞霞、唐麟 编著. 数据结构与算法实验教程. 北京:清华大学出版社,2018.
[3]张乃孝、陈光、孙猛 编著. 算法与数据结构:C语言描述(第3版)[M]. 北京:高等教育出版社,2016.
[4]邓俊辉 编著.数据结构(C++语言版)(第3版)[M]. 北京:清华大学出版社,2016.