2012级计科(1)数据结构课程设计教学大纲
《数据结构》课程教学大纲(计算机)
《数据结构》课程教学大纲一、课程基本信息二、课程教学目标本课程介绍软件设计中常用的线性表、栈、队列、串、数组、广义表、树、二叉树、图结构等几种基本的数据结构及其存储结构和所施加的运算与实现等。
另外,还介绍软件设计中常用的几种查找和排序算法,以及递归技术等,在介绍各项内容的同时,还涉及到算法设计与分析的基本技术和面向对象程序设计的理论与技术等内容。
通过本课程的学习,达到以下目标:熟练掌握上述结构及其运算的实现和性能特点,掌握各种排序和查找运算以及递归技术,能对给定的实际问题,建立准确的问题模型,设计有效的问题求解方法,选择合理的数据结构及其运算集,设计有效的算法。
三、教学学时分配《数据结构》课程理论教学学时分配表*理论学时包括讨论、习题课等学时。
《数据结构》课程实验内容设置与教学要求一览表四、教学内容和教学要求第一章绪论(2学时)(一)教学要求1.了解数据结构的各种基本概念和术语;2.了解数据类型和抽象数据类型的概念;3.理解算法的设计目标;4.掌握算法的时间复杂度概念和算法的时间复杂度分析方法。
(二)教学重点与难点教学重点:数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系教学难点:算法复杂度的分析方法。
(三)教学内容第一节什么是数据结构1.数据结构的定义2.逻辑结构类型3.存储结构类型4.数据结构和数据类型第二节算法及其描述1.什么是算法2.算法描述第三节算法分析1.算法设计的目标2.算法效率分析3.算法存储空间分析本章习题要点:基本概念、算法复杂度的分析方法第二章线性表(10学时)(一)教学要求1.理解线性表的逻辑结构和基本操作;2.理解线性表的顺序存储结构和实现方法;3.理解线性表的链式存储结构和实现方法;4.了解单循环链表和双向链表的概念和插入、删除等操作方法。
(二)教学重点与难点教学重点:顺序表和单链表上实现的各种基本算法及相关的时间性能分析。
教学难点:链表本质及其操作的实现算法、线性表相关的应用。
《数据结构(一)》课程教学大纲.docx
《数据结构》课程教学大纲在学习了一门程序设计课程之后,要想深入学习编程,《数据结构》是必要的通关课程。
该课程从比拟抽象的视角分析数据的逻辑结构、存储结构及相关算法的实现。
二、课程性质与目的作为计算机相关专业的-门核心基础课,《数据结构》的研究对象主要是数据的逻辑结构、数据的物理存储结构及对数据的操作(算法)等三个方面。
通过该课程的学习,要求学习者能够掌握常用的线性结构和非线性结构的基本概念、存储表示和基于不同存储基础上的基本操作的实现方法,学会分析各种算法在时间和空间上的效率等。
在此过程中,培养更加严谨的逻辑推理能力,为编写出高质量程序打下良好基础。
三、教学内容与学时分配第一章C语■言复习(3+2学时)1、教学内容以一个实验题为切入点,带着学生复习相关知识点:基本输入输出语句的使用、结构体的定义、结构体类型的声明、结构体变量的定义、结构体数组、常用算法、函数的调用等。
2、教学要求复习C语言相关知识点,为数据结构的学习做好准备。
3、重点结构体的相关内容4、难点无第二章数据结构概述(3学时)1、教学内容数据结构的起源、基本概念和术语、抽象数据类型、算法与算法分析、学习提示2、教学要求让学生初步建立对数据结构的认识:研究什么、为什么学习、怎么学习。
3、重点什么是数据结构4、难点无第三章线性表(6+4学时)1、教学内容线性表的基本概念、顺序存储及操作的实现、链式存储及操作的实现2、教学要求让学生了解线性表的逻辑结构、存储结构,并尝试在不同存储结构上实现线性表的基本操作:建表、查找、插入和删除元素。
3, 重点基本操作的实现4、难点链式存储上的建表操作第四章栈与队列(3+2学时)1、教学内容栈一一基本概念、顺序栈和链栈上操作的实现、栈的应用队列一一基本概念、顺序队列(循环队列)上操作的实现、链队列2、教学要求让学生了解操作受限的两个线性表:栈和队列,并掌握栈的基本操作及应用。
3、重点栈的应用4、难点无第五章串(3+2学时)1、教学内容串的基本概念、串的顺序存储及基本操作、串的链式存储、串的模式匹配算法2、教学要求让学生了解另一种特殊的线性表一一串(所有数据元素均为字符),掌握串的基本操作及串的模式匹配算法。
《数据结构》教学大纲
《数据结构》教学大纲课程编号:英文名称:Data Structure学分:5学时:96(其中理论学时64,实践学时32)课程类别:专业平台课程授课对象:信息管理与信息系统专业学生教学单位:机械与电气工程学院计算机科学技术学科修读学期:第2学期一、教学任务课程内容包括基本的算法理论,数据的逻辑结构,数据的存储结构以及基于这些结构上的算法,数据组织和处理技术,基于数据结构的分析和解决问题的方法、算法实现和程序设计技能的训练。
通过本课程的学习,使学生具备较扎实的软件技术知识和技能,初步具备从现实问题抽象到信息范畴再到计算机中数据组织和处理的转换,实现解决问题的较综合的能力;为学生的专业素质和分析及解决问题的能力奠定基础;为后续课程《数据库原理与应用》等打下一定的基础。
二、教学目标1.明确本课程对用计算机解决实际问题的作用;明确把现实问题通过计算机来解决的过程和方法;掌握对计算机加工的数据对象特性的分析方法,掌握线性结构、树结构、图结构等结构的特性;掌握基本的查找和排序方法。
2.能根据实际问题能选择合适的数据逻辑结构和存储结构,并在此基础上掌握对这些数据对象的操作技术。
具备相应结构的组织数据的方法,基本具备在这些结构上编写结构清晰,正确易读,效率较高算法的能力,初步具备编制较综合性程序和解决问题的能力;初步具备算法评价的能力。
3.初步具备通过对现实世界中问题的分析、能把处理对象的数据和关系抽象到信息世界里的结构模型、然后把结构模型组织到计算机里,从而在这基础上编制算法实现问题求解的较综合的能力。
三、教学内容理论:(一)基本概念1.教学内容数据、数据对象、数据元素、数据结构和算法等基本概念,抽象数据类型表示方法,算法分析方法。
重点:数据结构,数据关系、算法时间复杂度分析难点:算法时间复杂度分析2.教学要求了解本课程研究的对象、内容和过程,明确数据、数据对象、数据的逻辑结构、存储结构的联系与区别、抽象数据类型、算法的概念,明确算法与数据结构的关系、描述算法的方法,基本掌握简单的算法分析方法。
《数据结构》教学大纲(理论课)
《数据结构》教学大纲(理论课)课程编号:100404B3课程名称:数据结构(Data Structure)学分:4学分总学时:72理论学时:36实验(见习)学时: 36先修课程要求:计算机基础、C语言程序设计参考教材:1.谭浩强主编,《C程序设计》(第3版),清华大学出版社,20052.严蔚敏等主编,《数据结构》(第1版),清华大学出版社,20123.曲朝阳等主编,《数据结构》(第1版),中国电力出版社,20164.李云清等主编,《数据结构(C语言版)》(第3版),人民邮电出版社,2014一、课程在培养方案中的地位、目的和任务:《数据结构》课程主要介绍和研究数据在计算机中的存储和处理方法,旨在培养学生分析数据、组织数据的能力, 使学生深入了解数据结构的逻辑思想和实现方法,及应用技术,告诉学生如何编写效率高、结构好的程序。
它是介于数学、计算机硬件和计算机软件三者之间的一门核心课程,在计算机科学中,《数据结构》不仅是一般程序设计的基础,而且对于学习计算杌专业的其他课程都是有益的。
它系统地介绍线性表、栈、队列、字符串、数组、广义表、树、二叉树、图、查找表等几种数据结构的基本概念、操作及其典型应用的例子,通过课堂教学、上机实习,使学生了解数据对象的特性,数据组织的基本方法,并初步具备分析和解决现实世界问题在计算机中如何表示和处理的能力以及培养良好的程序设计技能,为后续课程的学习和科研工作的参与打下良好的基础。
二、课程基本要求:1.课程理论与基本知识(1)从数据结构的逻辑结构、存储结构和数据的运算三个方面去掌握线性表、栈、队列、串、数组、广义表、树、图和文件等常用的数据结构。
(2)掌握在各种常用的数据结构上实现的排列和查找运算。
(3)对算法的时间和空间复杂性有一定的分析能力。
2.基本技能(1)培养学生分析问题、解决问题的能力,学会对处理的数据建立抽象数据类型,掌握数据组织的基本方法,利用抽象数据类型进行程序设计。
《数据结构课程设计》教学大纲
《数据结构课程设计》教学大纲《数据结构课程设计》教学大纲课程名称:数据结构课程编号:408104 436104适用专业:计算机科学与技术软件工程总学分: 4总学时:72其中实验学时30主撰人:审核人:撰写日期:2012.6一、目的与任务《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。
学好数据结构对掌握实际编程能力是很有帮助的。
为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。
二、教学基本要求1.设计和调试过程要规范化需求分析:将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法。
②源程序(可以是一组源程序,即详细设计部分)源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。
尽量避免出现操作错误时出现死循环。
2.课程设计实习报告的书写格式①设计题目②运行环境(软、硬件环境)③算法设计的思想④算法的流程图⑤算法设计分析⑥源代码⑦运行结果分析⑧收获及体会3.实施方式可设3-4人一题,安排在《数据结构》课程开课学期布置题目,然后在期末两周时间内完成。
4.答辩:课题的论述、测试及问题回答三、课程设计内容1、背包问题的求解:假设有一个能装入总体积为T的背包和n件体积分别为w1 , w2 , … , wn 的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1 +w2 + … + wn=T,要求找出所有满足上述条件的解。
《数据结构》教学大纲
《数据结构》教学大纲一、课程简介《数据结构》是计算机科学与技术相关专业的基础课程之一。
本课程旨在通过理论与实践相结合的方式,培养学生具备良好的数据结构基础、灵活运用和设计数据结构的能力,并通过算法分析、问题求解等方式培养学生的编程思维和创新能力。
二、教学目标1. 理解数据结构的基本概念和原理,包括栈、队列、链表、树、图等基本数据结构的应用场景与实现。
2. 掌握数据结构的基本算法与操作,包括插入、删除、查找、排序等常用操作的实现与分析。
3. 培养学生良好的编程实践能力,能够灵活运用不同的数据结构解决实际问题。
4. 培养学生团队合作精神和沟通能力,能够与他人合作设计和实现复杂的数据结构与算法。
三、教学内容1. 数据结构基础1.1 数据结构与算法的关系1.2 抽象数据类型与数据结构1.3 算法复杂度与评估方法2. 线性结构2.1 线性表的基本概念与实现2.2 栈与队列的定义与应用2.3 数组与链表的对比与选择3. 树形结构3.1 树的基本概念与性质3.2 二叉树的存储与遍历3.3 二叉搜索树与平衡树的应用4. 图结构4.1 图的基本概念与表示方法4.2 图的遍历与连通性算法4.3 最短路径与最小生成树算法5. 排序与查找5.1 常用排序算法的实现与性能分析 5.2 二分查找算法与应用5.3 哈希表的概念与应用四、教学方法1. 理论讲解:通过授课方式向学生讲解数据结构的基本概念、原理和算法分析方法。
2. 实验实践:通过编写程序实践,巩固和加深学生对数据结构的理解与应用能力。
3. 课堂讨论:鼓励学生在课堂上提问和讨论问题,促进学生思维的活跃和沟通能力的培养。
4. 课程设计:结合实际案例,进行小组项目设计,培养学生团队合作和创新能力。
五、教学评价与考核1. 平时成绩:包括课堂讨论与实验成绩,在课堂上主动提问、积极参与实验的学生将获得较高成绩。
2. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。
数据结构与算法(Python版)《数据结构课程设计》教学大纲
《数据结构课程设计》教学大纲课程名称:数据结构课程设计适用专业:计算机科学与技术先修课程:数据结构学分:4总学时:60一、课程简介数据结构课程设计是为数据结构课程独立开设的一门实验课程。
数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,自行实现一个较为完整的应用系统的设计与开发。
其主要目的是使学生通过系统分析、系统设计、编程调试、写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用,进一步提高分析问题和解决问题的能力,提高程序设计水平。
二、课程目标目标1:掌握数据结构基本理论及相关算法,提出具体问题的正确数据结构表述和问题的合理解决方案和设计思想,培养学生对实际问题分析和设计能力。
目标2:能够针对特定问题进行探索,在编程环境中实现该问题的程序开发,培养学生实践动手能力。
目标3:针对特定问题的算法程序,进行实验数据验证和实验结果分析,并评价解决方案的性能,培养学生测试和分析能力。
三综合实践教学内容及要求(1)前期准备阶段1.教学内容:教师给学生讲解本课程设计的题目要求;学生完成选题及前期准备工作。
2.基本要求:(1)了解题目的基本要求,完成选题工作;(2)理解处理数据的逻辑结构、存储结构和解决问题的算法描述;(3)完成所选题目的概要设计,形成完整的设计方案。
3.重点及难点:重点:数据的逻辑结构、存储结构和相关算法的分析和设计。
难点:解决问题的算法分析和设计。
4.形成的成果及课外学习要求(1)要求学生完成题目的选取;(2)要求学生完成所选题目的概要设计;(3)要求学生想成所选题目的设计方案。
(2)设计实现阶段1.教学内容:学生在编程环境中完成程序的编辑、链接、运行和调试,形成功能正确的可执行文件,完成设计任务。
2.基本要求:(1)具备程序的编辑、链接、运行和调试能力;(2)具备系统开发设计能力;(3)能够在编程环境中实现课程设计题目的程序开发。
《数据结构课程设计》教学大纲
块的算法思路,相应流
程图的绘制。
要求学生在下周上课
前完成:
1、完成实验报告“算 投影
4 法说明”部分。下次上
计算机 课一开始就提交!
2、准备资料,开始编
写代码。
编写代码: 学生依自身情况,确定本周要完成哪
些模块的代码编写,以及测试。 四 注意:不要等到所有代码写完了,一
起测试,那样很难确定问题所在。应 局部调试通过,再逐渐加入,最终联 调。
5、凡照抄、照搬者,无论来自同学、图书、网上资源,一律视其严重程度扣分。 较严重者不及格,代码和设计报告雷同者记零分。
七、推荐教材和教学参考书
教材:
《数据结构教程(第 5 版)上机实验指导》李春葆,清华大学出版社,2017 年 8 月第 1 版.
《数据结构课程设计(第 2 版)》苏仕华.北京:机械工业出版社,2010.
完成了哪些部分,按贡献大小给出排名。 3、鼓励同学之间的讨论和相互启发,但也仅限于启发思路和解决局部疑难问题的
作用,绝不允许照抄、照搬同学的代码和设计报告。 4、参考资料包括各种图书,网上资源。课程设计离不开参考资料,但是对参考资
料的使用是在阅读理解的基础上加以借鉴,仅限于启发思路和解决局部疑难问题的作 用,绝不允许照抄、照搬的行为。
可得该部分满分的 80%
可得该部分满分的 10%
可得该部分满分的 10%
可得该部分满分的 60%
可得该部分满分的 25%
可得该部分满分的 15%
(三)参考资料的使用与抄袭行为的处罚
1、对于要求独立完成的题目必须独立完成。 2、对于难度或规模大的选题,可以在征得老师同意的情况下几个学生组成小组分 工合作完成,共同提交一份设计报告。设计报告中必须清楚的体现分工情况,注明各自
《数据结构》课程教学大纲
《数据结构》课程教学大纲一、课程概述数据结构是计算机科学与技术专业的重要基础课程之一。
本课程旨在介绍数据结构的基本概念、常用数据结构及其应用。
通过本课程的学习,学生应具备设计和实现基本数据结构的能力,能够分析并解决实际问题中的数据组织与处理需求。
二、教学目标1. 掌握数据结构的基本概念和分类。
2. 理解不同数据结构的特点、存储结构和操作方式。
3. 能够应用各类数据结构解决实际问题,并分析其性能。
4. 具备编写高质量代码的能力,考虑代码的可读性和可维护性。
5. 培养团队合作意识和解决问题的能力。
三、教学内容1. 数据结构基础1.1 数据结构的定义和作用1.2 数据结构的分类及常用术语1.3 数据结构的表示与实现方式2. 线性结构2.1 线性结构的概念和特点2.2 线性表的顺序存储结构和链式存储结构2.3 线性表的基本操作(插入、删除、查找)2.4 栈和队列的定义、基本操作以及应用3. 非线性结构3.1 树形结构的概念和特点3.2 二叉树及其存储结构(顺序存储和链式存储)3.3 二叉树的遍历(先序、中序、后序)3.4 树与森林的转换和应用4. 图结构4.1 图的定义和基本术语4.2 图的存储结构(邻接矩阵和邻接表)4.3 图的遍历(深度优先搜索和广度优先搜索)4.4 最小生成树和最短路径算法5. 查找算法5.1 查找的基本概念和分类5.2 顺序查找算法5.3 二分查找算法5.4 哈希查找算法6. 排序算法6.1 排序的基本概念和分类6.2 内部排序算法(插入排序、冒泡排序、选择排序、快速排序、归并排序)6.3 外部排序算法四、教学方法1. 集中讲述与课堂演示相结合的教学方法。
2. 利用多媒体技术展示数据结构的基本概念、实例和操作过程。
3. 提供编程实践的机会,让学生独立设计和实现各类数据结构。
4. 组织小组讨论和团队合作,解决数据结构相关问题。
五、考核方式1. 平时成绩包括课堂表现、作业、实验和参与度。
计算机专业《数据结构》教学大纲
计算机专业《数据结构》教学大纲一、课程基本信息课程名称:数据结构课程类别:专业基础课课程学分:X学分课程总学时:X学时适用专业:计算机专业二、课程的性质、目的和任务(一)课程性质《数据结构》是计算机专业的一门重要的专业基础课,它是介于数学、计算机硬件和计算机软件之间的一门核心课程,不仅是程序设计的基础,也是设计和实现操作系统、数据库系统、编译系统及其他系统程序和大型应用程序的重要基础。
(二)课程目的通过本课程的学习,使学生能够掌握数据结构的基本概念、基本原理和基本算法,培养学生分析问题和解决问题的能力,为后续课程的学习和今后从事软件开发工作打下坚实的基础。
(三)课程任务1、使学生掌握数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构等。
2、使学生掌握线性表、栈、队列、串、数组、广义表、树、图等常用数据结构的逻辑结构、存储结构和基本操作的实现算法。
3、使学生掌握查找和排序的基本算法,包括顺序查找、二分查找、哈希查找、插入排序、选择排序、交换排序、归并排序等。
4、培养学生运用所学数据结构和算法知识解决实际问题的能力,能够根据具体问题选择合适的数据结构和算法,并进行算法设计和程序实现。
5、培养学生的程序设计能力和良好的编程风格,提高学生的代码可读性和可维护性。
三、课程教学内容和要求(一)绪论1、教学内容数据结构的基本概念和术语,包括数据、数据元素、数据对象、数据结构、数据类型等。
数据结构的研究内容和研究方法。
算法的基本概念和特性,包括有穷性、确定性、可行性、输入和输出。
算法的描述方法,包括自然语言描述、流程图描述、伪代码描述等。
算法的分析方法,包括时间复杂度和空间复杂度的分析。
2、教学要求理解数据结构的基本概念和术语。
了解数据结构的研究内容和研究方法。
掌握算法的基本概念和特性。
掌握算法的描述方法。
掌握算法的时间复杂度和空间复杂度的分析方法。
(二)线性表1、教学内容线性表的定义和逻辑结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法课程设计》教学大纲
课程编号:B04900083
课程中文名称:数据结构与算法课程设计
课程英文名称:Curriculum-design of Data Structures and Algorithms
课程类别:实践教学
周数:2
学分:2
适用专业:计算机科学与技术
一、课程设计的性质、目的
对学生数据结构知识的全面综合训练,把书上学到的知识用于解决实际问题、培养今后软件开发工作所需的动手实践能力,包括问题分析、总体结构设计,用户界面的设计、程序设计时的基本技能和技巧,以及一整套软件工作规范的训练和团体协作精神的培养。
二、课程设计基本要求
(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
三、课程设计教学内容
根据教材《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,或选择下列与实际应用紧密结合的较综合性的题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。
以下列出一些可供选择的题目:
1.一元多项式的运算
设计要求:计算任意两个一元多项式的加法、减法以及乘法。
2.算术表达式求值
设计要求:将任意一个算术表达式转化为逆波兰表示,并根据逆波兰表示计算表达是的值。
3.舞伴问题
假定在一舞会上,男士排成一队,女士排成一队。
跳舞开始时,依次从男队和女队的队头各出一人配成舞伴。
若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。
设计要求:模拟上述舞伴系统,并能计算对于任何男士A和女士B在哪一轮舞曲中的k 次跳舞?
4.集合的等价划分
设计要求:对于任何一个集合及其上的一个等价关系(要验证此关系的等价性),给出该集合的等价划分。
5.简易家谱系统
设计要求:输入家族成员情况,建立树结构,统计家族成员人数,能查询家族成员辈份情况。
6.哈夫曼树的应用
设计要求:针对字符集A及其各字符的频率值(可统计获得)给出其中给字符哈夫曼编码,并针对一段文本(定义在A上)进行编码和译码,实现一个哈夫曼编码/译码系统。
7.地图着色问题
设计要求:已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色总数最少。
8.小型文本编辑器
设计要求:设计一个文本编辑器,使其具有通常编辑器(如Notepad)具备的功能。
9.校园导航问题
设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
10.学校超市选址问题(带权有向图的中心点)
设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。
请为超市选址,要求实现总体最优。
11.教学计划编制问题
设计要求:针对计算机本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
12.哈希表及其应用
建立一个小型信息管理系统(可以是图书、人事、学生、物资、商品等任何信息管理系统)。
要求:使用哈希查找表存储信息;实现查找、插入、删除、统计、输出等功能;
13.关键路径
设计要求:对于任何大型工程项目(由若干小工程组成),求其关键路径。
14.最小生成树问题
设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。
15.二叉排序树与平衡二叉排序树基本操作的实现
设计要求:用二叉链表作存储结构,编写程序实现二叉排序树上的基本操作。
16.运动会成绩管理系统
设计要求:学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。
进入系统后可以输入和修改某个项目的结果情况,可以按各系院编号输出总分;按总分排序;按男团体总分排序;按系院编号查询;按项目编号查询;按女团体总分排序。
17.哈夫曼树的应用
设计要求:从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。
同时将此字符形式的编码文件写入文件CodePrint中。
利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。
18.图的遍历
设计要求:实现图的深度优先, 广度优先遍历算法,并输出原图结构及遍历结果。
19.矩阵乘法
设计要求:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵A,B的内容,并输出两个矩阵,输出矩阵A、B相乘的结果。
20.数组应用
设计要求:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。
21.n元多项式乘法
设计要求:完成两个n元多项式作乘法,给出明确的等式形式。
22.集合运算
设计要求:使用链表来表示集合,完成集合的合并,求交集等操作。
23. 公园导游图
设计要求:给出一张某公园的导游图,游客通过终端询问可知:从某一景点到另一景点的最短路径。
游客从公园大门进入,选一条最佳路线,使游客可以不重复地游览各景点,最后回到出口(出口就在入口旁边)。
24. 商店存货管理系统
设计要求:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。
25.汉诺塔的实现
设计要求:编程序显示n(n<=9)层汉诺威塔的调整过程。
26. 个人帐簿管理系统
设计要求:个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
27. 排序系统设计
设计要求:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。
开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。
如此下去,直到所有人全部出列为止。
令n最大值取30。
要求设计一个程序模拟此过程,求出出列编号序列。
指导老师还可以根据学生实际掌握程度以及知识技术的更新适当对题目进行调整。
四、课程设计时间分配
五、课程设计考核办法与成绩评定
由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分,成绩评定实行优、良、中、及格和不及格五个等级,从三个方面评定成绩:平时表现;设计报告;程序的演示。
不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。
六、课程设计指导书
教材:
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M]. (第一版)北京:清华大学出版社.1997
参考书:
[2] Sartaj Sahni. Data Structure, Algorithms, and Application in C++. The McGraw-Hill Company Inc.1998[M] (第一版) (数据结构、算法与应用——C++语言描述.北京:机械工业出版社.1999
[3] Willan Ford,Willian Topp. Data Structures with C++. New Jersey:Prentice Hall Inc, Adivision Simon & Schuster Company,1996[M] (第一版) (数据结构——C++语言描述.北京:清华大学出版社,1997
[4] 徐孝凯.数据结构实用教程(C/C++描述)[M]. (第一版)北京:清华大学出版社.1999
[5] 陈慧南.数据结构(使用C++语言描述)[M]. (第一版)南京:东南大学出版社.2001
[6] 殷人昆,陶永雷,谢若阳等.数据结构(用面向对象方法与C++描述)[M]. (第一版)北京:清华大学出版社.1999
七、其它说明
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
执笔人:祁文青审核人:祁文青(盖章)
2012年9月1日。