SPOC学校专有课程
数据结构与算法B
分享
spContent=《数据结构与算法》是计算机科学中的一门综合性的专业基础课。主要介绍如何合理地组织数据、有效地存储和处理数据、正确地设计算法以及对算法的分析和评价。本课程强化了数据结构基本知识和程序设计基本能力的双基训练。其中绪论、线性表、栈和队列、图、查找由黄明芳老师主讲,树和二叉树由杨文霞老师主讲,排序由谢良老师主讲。
—— 课程团队
课程概述

《数据结构与算法》不仅是程序设计的基础,也是设计和实现编译程序、操作系统、数据库系统及其它系统程序以及各种大型应用程序的重要基础。本课程不仅涉及在计算机中如何有效地表示数据,如何合理地组织数据和处理数据,还涉及初步的算法设计和算法性能分析技术。学好数据结构课程,将为后续的专业课程,打下良好的知识基础,而且还为软件开发和程序设计提供了必要的技能训练。

本课程的主要内容包括:数据结构和算法的基本概念和技术,线性表、栈和队列、树和二叉树、图等典型数据结构及相关算法,以及排序、查找等重要算法。

通过本课程的学习,使学生深入理解数据结构的逻辑结构和存储结构的基本概念以及相关算法,培养基本的、良好的程序设计技能,设计合理的数据存储方式,并编制高效可靠的程序。

本课程是学科基础课,内容多而抽象、难学以及学时少,因而学习起来有一定难度,为保证教学效果,采用线上和线下相结合的教学方式,使学生能够很快掌握课程的主要知识和解决问题的方法。并通过大量的实例训练,使学生熟练掌握数据结构的设计并编程上机调试,为学好本专业的后续课程和将来的工作打下坚实的基础。

授课目标

通过本课程的学习,使学生在软件设计的过程中,能够正确分析数据的结构、并合理地选择数据的存储方式,设计科学操作算法,从而提高软件整体质量。对每一类数据结构,通过示范程序展示如何实现从抽象数据类型到实际程序的转换,并通过设计和日常生活密切相关的综合性实验,以培养学生发现问题解决问题的能力。本课程学习的效果不仅关系到后续课程的学习而且直接关系到软件设计水平的提高和专业素质的培养。

成绩 要求

本课程的学习环节包含:

观看讲课视频及其它课程资源、按时完成单元测验题、按时完成单元作业和作业互评、参与课程讨论、参加期末考试。

课程学习成绩由四部分构成

1)线上学习:占20%。根据同学们参与教学活动次数:上交作业次数、单元测验次数、观看视频时长及在讨论区发表的有效帖子给予评分,教学活动获得满分的同学需上交全部作业及测验,在线时长不低于300分钟,发表的有效帖子不少于20个,作业互评要求不少于5次。

2)上机实验:占20%。由任课老师组织,分小组上机。

3)课程考试:占60%

课程大纲
预备知识

C语言程序设计

参考资料

1.《数据结构教程》(第5版),李春葆主编,清华大学出版社,2017年出版。

2.《数据结构(C语言版)》,严蔚敏、吴伟民主编,清华大学出版社,2013年出版。

3. 《数据结构与算法分析:C语言描述》(第2版),(美)维斯 著,冯舜玺 译,机械工业出版社,2004年出版。

4. 《数据结构教程学习指导》(第5版),李春葆主编,清华大学出版社,2017年出版。

常见问题


Q :

数据结构与算法是什么?

A : 

1.数据结构是按照逻辑关系组织起来的一批数据;

2.算法是解决方案的准确而完整的描述,是指令的有限序列。当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态;

3.数据结构和算法是相辅相成的,数据结构是为算法服务的,而算法要作用在特定的数据结构上。

Q :

为什么要学习数据结构与算法?

A : 

1.数据结构和算法属于基础知识,通用型较强;

2.能写出性能更优的代码;

3.为软件开发和程序设计提供了必要的技能训练,并为后续的专业课程,打下良好的知识基础;

Q : 

学什么?

A :  

1.数据的逻辑结构;

2.数据的存储结构;

3.数据的运算。

Q : 

 怎么学?

 A :  

预习——听课、作笔记——上机——复习(看书、做作业)