首页 课程主页
课程分享  
数据结构
主讲教师 王源/淮南师范学院
学习人数 503
开课周期 2022年11月07日 ~ 2023年01月15日
教学进度
预报名
进行中
已结课
课程期次 共 10 周
  • 课程详情
  • 教辅教材
  • 课程评价
  • 常见问题

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象及其关系和操作的学科。它的研究范围主要涉及数据的逻辑结构、存储结构和操作的实现,以及常用的查找和排序技术。其内容是程序设计(特别是非数值计算的程序设计)的基础,也是设计和实现编译程序、操作系统、数据系统及其它系统程序和大型应用程序的重要基础。


课程概述

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象及其之间关系与操作的学科。是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,属于计算机学科中的一门综合性专业基础课程。

它不仅是一般程序设计的基础,也是设计和实现编译程序、操作系统、数据库系统及其他系统程序和大型应用程序的重要基础。 

课程的学习主要训练学生在系统开发中的数据设计、算法设计与分析及数据组织的能力,它是后续多门课程,如数据库、操作系统、编译原理、网络系统基础等的基础,对于从事计算机系统开发的人员,是必修课程之一。


课程大纲
  • 第1章 绪论
    • 第1节 数据结构的研究内容
    • 第2节 基本概念和术语
    • 第3节 抽象数据类型的表示与实现
    • 第4节 算法与算法分析
    • 第5节 实验一 顺序表及其应用 第一章讲义
  • 第2章 线性表
    • 第1节 线性表的定义和特点
    • 第2节 顺序表的表示和实现
    • 第3节 单链表的表示和基本操作
    • 第4节 单链表的重要操作(一)
    • 第5节 单链表的重要操作(二)
    • 第6节 循环链表和双向链表
    • 第7节 线性表的应用
    • 第8节 第二单元测验
    • 第9节 实验二 链表及其应用 第二章讲义
  • 第3章 栈和队列
    • 第1节 栈的定义和实现(上)
    • 第2节 栈的定义和实现(下)
    • 第3节 队列的定义和实现(上)
    • 第4节 队列的定义和实现(下)
    • 第5节 栈与递归(上)
    • 第6节 栈与递归(下)
    • 第7节 表达式求值(上)
    • 第8节 表达式求值(下)
    • 第9节 优先级队列
    • 第10节 第三单元测验
    • 第11节 实验三 栈和队列及其应用 第三章讲义
  • 第4章 串、数组和广义表
    • 第1节 串的定义、存储结构及运算(上)
    • 第2节 串的定义、存储结构及运算(下)
    • 第3节 KMP算法(上)
    • 第4节 KMP算法(下)
    • 第5节 数组和特殊矩阵(上)
    • 第6节 数组和特殊矩阵(下)
    • 第7节 广义表
    • 第8节 第四章单元测验
      • 第四单元测验
      • 期中测验
    • 第9节 实验四 串及其应用 第四章讲义
  • 第5章 树和二叉树
    • 第1节 树和二叉树的定义
    • 第2节 二叉树的性质和存储结构
    • 第3节 二叉树的重要操作(上)
    • 第4节 二叉树的重要操作(下)
    • 第5节 树和森林
    • 第6节 哈夫曼树及其应用
    • 第7节 第五章单元测验
    • 第8节 实验五 树和二叉树实验
    • 第9节 实验六 二叉树的应用 第五章讲义
  • 第6章 图
    • 第1节 图的定义和基本术语
    • 第2节 图的抽象数据类型和存储结构(上)
    • 第3节 图的抽象数据类型和存储结构(下)
    • 第4节 图的遍历与连通性
    • 第5节 最小生成树
    • 第6节 最短路径与拓扑排序(上)
    • 第7节 最短路径与拓扑排序(下)
    • 第8节 关键路径
    • 第9节 第六章单元测验
    • 第10节 实验七 图及其应用 第六章讲义
  • 第7章 查找
    • 第1节 基本概念与顺序查找
    • 第2节 折半查找与分块查找
    • 第3节 二叉查找树
    • 第4节 散列(上)
    • 第5节 散列(下)
    • 第6节 第七章单元测验 第七章讲义
  • 第8章 排序
    • 第1节 排序的概念(上)
    • 第2节 排序的概念(下)
    • 第3节 快速排序与堆排序
    • 第4节 外部排序基础
    • 第5节 第八章单元测验
    • 第6节 实验八 查找与排序及其应用 第八章讲义
  • 第9章 期末考试及课程大纲
授课目标

通过课程的学习,使得学生能够掌握数据结构的基本概念,深刻理解各种数据结构的逻辑特性和存储表示方法;能够依据工程实际问题的需求来合理组织数据,并在计算机中有效地存储数据;能够对负责工程中的算法问题进行抽象、提取和归纳。

能够在各种数据结构基础上进行算法设计与描述,掌握算法时空间复杂度的分析方法。能够设计数据结构和算法,具有算法分析的能力;能够运用数据结构的基础知识,表达和分析计算机领域的复杂工程问题。

能够针对复杂工程中的算法问题,设计出比较合理的解决方案,并通过具体的编程语言加以实现,同时体现一定的创新思维能力。

能够基于数据结构基本原理和文献研究,针对复杂工程中的算法问题设计合理的研究方案。


预备知识

学生需要掌握高等数学、计算机基础、离散数学、C/C++语言程序设计的知识。

配套教材
  • 数据结构(C语言版)
    第2版
    严蔚敏 李冬梅 ...
    人民邮电出版社
参考教材
5.0

3 条评价

本次开课 查看全部
4.8

8 条评价

本次开课 查看全部
1 这门课程是免费学习的吗?
本课程是开设在安徽省网络课程学习中心(e会学)平台上的课程,是免费学习的。
2 是否需要完成课程所有的作业?
如果你想要获得课程证书,你需要按照课程老师制定的课程大纲和考核标准完成相关作业;如果仅是为了扩充知识并不需要申请证书,可以根据自己的时间与需求自由安排学习计划。
授课教师
淮南师范学院
2024 e会学 皖ICP备05002528号-14 皖公网安备 34010402700145号 Copyright 安徽省网络课程学习中心版权所有