通过本课程学习,使学生掌握计算机科学中组织、表示和处理数据的基本方法,培养学生运用数据结构和算法知识解决应用问题的能力,提高算法设计和程序设计水平,为《数字图像处理与图像通信》、《网络技术与应用》和《数据库技术与应用》等很多与IT相关的后续课程学习,也为“大信息”背景下非数值应用软件的开发打下良好的理论基础。本课程的学习,有助于IT相关专业的学生解决各自专业中软件设计的问题。
本课程的教学内容包括线性表、栈和队列、数组、树和二叉树、集合、搜索树、散列表、图和文件等常见的数据结构,讨论各种典型的搜索和内、外排序算法。此外,还介绍递归算法、各种典型的搜索算法和内、外排序等算法,并给出算法分析的基本方法。
希望同学们在经过本课程的学习,能够做到:从数据的逻辑结构、存储结构和运算三个方面理解并掌握线性表、栈、队列、数组、树、图和文件等常用的数据结构;了解在各种常用的数据结构上实现的排序和查找运算;对算法的时间和空间复杂性有一定的分析能力;针对常见的应用问题,能选择合适的数据结构及设计有效的算法解决问题。
本课程主要研究各种数据的抽象表示、实现方法和算法的设计过程,是计算机软件设计的重要理论和实践基础课程。
课程目标1:使学生掌握数据结构的基本概念,熟悉合理组织数据的基本方法,培养学生运用计算思维分析计算机及应用领域的相关工程问题的能力,为本专业后续课程学习及进一步的软件开发打下良好的理论基础。
课程目标2:能够运用计算思维分析问题和解决问题,针对具体问题,分析数据元素的组成和逻辑关系,设计灵活高效的数据存储结构,实现所需的运算, 针对计算机及应用领域复杂工程问题设计可行的研究方案。
课程目标3:能综合运用数据结构的基本理论和设计方法,研究针对计算机及应用领域复杂工程问题自主设计数据结构,并能对研究方案的可行性进行论证。
高级语言程序设计(C语言)
高等数学
1.教材
《数据结构(C语言)慕课版(第2版)》(江苏省高等学校重点教材),王海艳等,人民邮电出版社,2019。教材封面如下图所示:
如果您需要购买,可以扫描下面二维码访问出版社网站购买。
2.主要参考书
[1]《数据结构与算法分析:C语言描述(原书第2版)》,(美)Mark Allen Weiss 著, 冯舜玺 译,机械工业出版社,2004年;
[2] 《计算机科学丛书:C程序设计语言(第2版·新版)》,(美) Dennis M.Ritchie(丹尼斯·里奇) 著,徐宝文,李志 译,机械工业出版社,2004年;
[3] 《数据结构与算法:C++语言描述》,陈慧南 著,高等教育出版社,2005年;
[4] 《清华大学计算机系列教材:数据结构(C语言版)》,严蔚敏、吴伟民 著,清华大学出版社,2011年;
[5] 《大话数据结构》,程杰 著,清华大学出版社,2011年。