《数据结构与算法实践》课程教学大纲
课程代码:030732033
课程英文名称:Data Structures and Algorithm Practice
课程总学时:12  讲课:2  实验:10  上机:0
适用专业:电子信息学科学与技术专业
大纲编写(修订)时间:2017.5   
一、大纲使用说明
(一)课程地位及教学目标
本课程是电子信息科学与技术专业本科生的一门重要的专业基础课, 是《数据结构》课程的辅助教学环节,以培养学生算法分析与算法设计能力为目的,巩固课堂所学知识点,加深对课程中所学理论知识的理解,依据《数据结构》课程教学计划指导大纲编制。本课程大纲结合《数
据结构》课程教学大纲的相应内容,指导学生掌握典型算法的设计思想,提高学生根据实际问题设计高效、实用算法的能力,加强了理论和实践的结合,培养学生的算法设计能力和良好的程序设计习惯,为后续课程的学习及软件开发打下良好的基础。
二叉树中序遍历非递归算法(二)知识、能力及技能方面的基本要求
1.基本知识:开发环境、函数与递归、指针、参数传递、结构体及动态内存分配与释放。
2.基本理论和方法:
(1)复习C程序设计语言的一些重点和难点,为数据结构的学习扫清障碍;
(2)掌握线性表在顺序存储结构中的基本操作及应用;
(3)掌握线性表在链式存储结构中的基本操作及应用;
(4)掌握递归算法和非递归算法实现对二叉树的遍历操作;
(5)掌握非递归算法实现对图的深度优先遍历操作;
(6)掌握常见的静态查算法和动态查算法;
(7)掌握常见的内排序算法。
3.基本技能:主要培养学生运用所学知识将实际问题抽象表示出来、根据数据的逻辑结构选择相应的存储结构、编写算法、编制程序、运行程序并最终解决实际问题。
(三)实施说明
1.教学方法:本课程主要通过上机实践培养学生的编制算法能力和程序设计能力,使学生在编程的训练中,深度理解书本上的理论知识,提高解决实际问题的动手能力。教师在讲解过程中应循序渐进,由浅入深,结合具体的例子讲解理论和应用方法,从而达到理论和实践密切结合的教学目的。
2.教学手段:本课程包含2学时理论课时,建议指导教师选择在实验室授课,配合电子白板、多媒体等辅助教学系统,可以更加直观、有效的引导学生学习编程软件的使用方法,演示例子程序。
(四)对先修课的要求
本课程的教学必须在完成先修课程之后进行。本课程主要的先修课程是C语言程序设计。
(五)对习题课、实践环节的要求
      1.本课程要求学生上实验课前认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写,学会程序调试与纠错。
2.课程安排的5次实验都属于一种设计类型的实验,每个实验的训练重点在于基本的数据结构,旨在使学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容。
(六)课程考核方式
1.考核方式:考查。
2.考试方法:每次实验的完成效果为考核标准进行打分。
3.课程总成绩:最终成绩为平时考核的总和。
(七)参考书目
1.《数据结构:C语言版》,严蔚敏编,清华大学出版社,2007
2.《零基础学数据结构》,陈锐等编,机械工业出版社,2010
3.《数据结构:使用C语言》,朱战立编,电子工业出版社,2009
二、中文摘要
数据结构与算法实践是《数据结构》的辅助课程,目的是培养学生编制算法的能力和编程解决实际问题的动手能力,以C语言为编程语言,先修课要求掌握C语言程序设计,主要介绍C程序语言的基础、常用的C语言开发环境、线性结构中线性表的基本算法、树形结构中二叉树的创建和遍历算法、图形结构中利用非递归算法实现对图的深度优先遍历、编写查算法实现基于线性表的查应用、编写排序算法实现对待排序序列的排序应用。巩固了数据结构的理论知识,为后续课程,特别是软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。
三、课时分配表
序号
教学内容
学时
讲课
实验
上机
1
C语言基础
2
2
0
0
2
线性表的应用
2
0
2
0
3
二叉树的基本操作
2
0
2
0
4
图的操作
2
0
2
0
5
查算法的应用
2
0
2
0
6
排序算法的应用
2
0
2
0
合计
12
2
10
0
四、教学内容及基本要求
第1部分 C语言基础
总学时(单位:学时):2  讲课:2  实验:0 上机:0
具体内容:
介绍C程序设计语言的基础、介绍目前常用的C语言开发环境Turbo C和Visual C++,并给出具体例子。
第2部分 线性表的应用
总学时(单位:学时):2 讲课:0  实验:2 上机:0
具体内容:
顺序表的插入和删除算法、单链表的插入和删除算法、将两个有序线性表合并成一个有序线性表。
重      点:
顺序表的插入和删除算法、单链表的插入和删除算法。
难      点:
通过实例掌握线性表的各种操作。
实验上机:
线性表的归并应用(实验2学时)
第3部分 二叉树的基本操作
总学时(单位:学时):2 讲课:0  实验:2 上机:0
具体内容:
利用二叉树的遍历思想进行二叉树的创建,通过二叉树的递归和非递归算法实现对二叉树的先序遍历、中序遍历和后序遍历。
    点:
二叉树的创建和遍历算法。
      点:
理解递归算法实现对二叉树遍历的过程。
实验上机:
    创建二叉树并实现对该二叉树的遍历实验2学时)
第4部分 图的操作
总学时(单位:学时):2 讲课:0  实验:2 上机:0
具体内容:
图的遍历是从图中的某一顶点出发访遍图中其余顶点,且使每个顶点仅被访问一次的过程,学习图的深度优先遍历算法的实现。
    点:
递归算法和非递归算法实现对图的深度优先遍历。
      点:
      非递归算法是如何通过栈来实现对图的深度优先遍历的。
实验上机:
    采用非递归算法实现对图的深度优先遍历实验2学时)
第5部分 查算法的应用
总学时(单位:学时):2 讲课:0  实验:2 上机:0
具体内容:
查是在一个数据元素集合中查关键字等于某个给定关键字数据元素的过程,通过静态查和动态查算法实现基于线性表的查应用。
    点:
掌握相关的静态查和动态查算法。
      点:
      如何编写查算法实现基于线性表的查应用。
实验上机:
    编写算法实现基于线性表的查应用实验2学时)
第6部分 排序算法的应用
总学时(单位:学时):2 讲课:0  实验:2 上机:0
具体内容:
排序是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列,通过内排序算法实现对待排序序列的排序应用。
    点:
掌握相关的内排序算法。
      点:
      如何编写排序算法实现对待排序序列的排序应用
实验上机:
    编写排序算法实现对待排序序列的排序应用实验2学时)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。