数据结构
分享
课程详情
课程评价
spContent=河南师范大学“数据结构”课程是河南省高等学校精品在线开放课程,以严蔚敏教授编著十二五国家级规划教材为基础,将教学课件、学习指导与习题解答、试题库等辅助教学资料组成一体。本课程介绍了数据结构的基本概念、线性表、栈和队列、串、数组和广义表、树、图、查找和排序等内容,专注于培养学生对数据结构和算法思想的了解。
—— 课程团队
课程概述

《数据结构》是一门研究非数值计算程序设计中的操作对象以及这些对象之间的关系和操作的学科,其主要研究数据组织和数据处理的方法。在国外,该课程作为一门独立的课程始于1968年,它出现在美国一些大学的计算机系的教学计划中,目前,该课程已成为计算机类专业一门非常重要的专业基础课程,它所研究的数据组织和数据处理的方法在后续的操作系统、编译原理、人工智能、计算机网络、数据库等课程中都是重要而必备的基础。

课程内容主要包括:数据结构的基本概念、线性表、栈和队列、串、数组和广义表、树、图、查找和排序。

从本质上讲,数据结构属于程序设计类课程,是程序设计语言课程的进阶篇。首先,程序是对数据的操作,由输入产生输出的IPO模式。对于比较复杂的处理对象,就需要从数据结构的角度来组织和存储数据,如采用顺序存储还是链式存储结构更加高效;另外,对于比较复杂的数据操作,就需要采用一些相应的数据结构来求解,如迷宫问题就借助于栈来完成。所以数据结构课程要讲解人们在软件开发中常见的数据结构,并从逻辑结构到存储结构,再到算法设计这三个层面加以学习。程序设计解决问题往往有多种方法,且不同方法之间的效率可能相差甚远。程序的时间和空间效率,不仅跟数据的组织方式有关,也跟处理流程的巧妙程度有关。本课程将介绍有关数据组织、算法设计、时间和空间效率的概念和通用分析方法,帮助学生学会数据的组织方法和一些典型算法的实现,是学生能够针对问题的应用背景分析问题及选择解决该问题应采用的数据结构,从而培养高级程序设计技能。

授课目标

数据结构是计算机科学与技术、物联网、网络工程、人工智能、信息管理等专业的一门重要学科基础课和必修课程。通过本课程的学习,一方面,使学生掌握计算机处理数据的方法,为数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间复杂度和空间复杂度分析。另一方面,通过对本课程算法设计和上机实践的训练,培养学生的数据抽象能力和程序设计的能力。

课程大纲
预备知识

掌握C语言程序, 对计算机处理离散结构的基本理论和方法有一定的了解。

参考资料

严蔚敏、李冬梅、吴伟民等,《数据结构》(C 语言版),人民邮电出版社