SPOC学校专有课程
数据结构
分享
spContent=数据结构是学习计算机程序设计的核心课程,对学生组织数据、设计程序及分析算法至关重要。本课程讲授数据元素之间存在的各种逻辑关系、采取的存储方式和相应算法,并分析了算法的时间复杂性和空间复杂性。通过本课程的学习,学生将掌握组织数据和存储数据的方法,进而设计出的满足需求的高效算法。
—— 课程团队
课程概述

  如果想学好程序设计,一定要学会《数据结构》课程。在大数据(Big Data)时代,数据量大且复杂多样,如何实现快速分析处理,发现其中潜在的价值,一直是科研人员关注的问题。《数据结构》课程面向程序设计时的数据对象,分析数据元素之间的逻辑结构,探讨数据元素的存储方法,了解常用算法并评估各种算法的性能。在课程中,将讨论数据元素之间的线性结构、非线性结构以及集合上的查找与排序方法。学习该课程有助于学习者获得数据抽象能力,能够从逻辑上组织数据并采取合适的存储方法,进而设计出满足实际需求的高效算法,为将来利用人工智能方法从大数据中快速发现潜在的价值奠定坚实的技术基础。本课程合理组织传统《数据结构》的内容,精简提炼重要和关键知识点,兼顾知识的基础性、实践性和可扩展性。由于该课程的理论性和实践性都很强,为此编写了覆盖主要知识点的习题和测验,以及强化学生实践能力的、难度适中的算法设计题。相信学习者通过线上和线下认真学习,一定能够在较短的时间内掌握数据结构知识。

授课目标

1.     在程序设计时能够分析数据元素之间存在的逻辑结构,并能够选择和设计合适的存储结构;

2.     掌握线性表、栈、队列、数组、树和图等常用数据结构的逻辑结构、存储结构及相关操作;

3.     理解并能够根据实际场景灵活运用各种查找和排序算法;

4.     能够从时间复杂度和空间复杂度的视角分析与评估算法。

成绩 要求

每章后都有单元测验和单元作业,并且指定了完成时限,请同学们按时完成。这将是平时成绩(占总成绩的30%)的一部分。

课程大纲
预备知识
  • 具有C语言程序设计基础,特别需要理解数组、指针、结构体的概念及其应用。

  • 理解C++语言程序设计中引用的概念,在函数设计时经常采用参数的引用传递。

参考资料

1.严蔚敏吴伟民《数据结构(C语言版)》清华大学出版社.

2.Mark Allen Weiss, Data Structures and Algorithm Analysis in C, China Machine Press.

3. Mark Allen Weiss , 冯舜玺 译, 数据结构与算法分析:C语言描述, 机械工业出版社.