文档库 最新最全的文档下载
当前位置:文档库 › 《数据结构》课程标准

《数据结构》课程标准

《数据结构》课程标准
《数据结构》课程标准

《数据结构》课程标准

英文名称:DataStructure 学分: 4 适用专业:嵌入式系统工程

一、课程性质

《数据结构》是嵌入式系统工程专业的一门专业基础必修课程。本课程面向Android软件工程师的岗位需求,针对JDK1.6,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。本课程着重基本知识的掌握和基本技能的训练,为利用Java语言进一步开发基于Android的APP应用奠定基础。

二、课程理念

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。

将CDIO理念应用在数据结构课程中。CDIO是近年来国际工程教育改革的最新成果。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。

1、课程地位理念

在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。

2、课程学情理念

本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、java基础等知识,本课程力图让学生学会在java语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。

3、课程内容理念

根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性表、堆栈和队列、树和二叉树、查找和排序。内容主要包括:绪论、集合结构的线性存储实现方法、集合结构的链式存储实现方法、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。

4、课程要求理念

《数据结构》是一门偏重理论的课程,有很强的理论性。在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和java语言结合化。

5、课程考核理念

如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂笔记+期末考试”的方式。

三、课程目标

(一)总目标

为学生的职业素质和职业技能的形成服务;为今后学习Android编程技术奠定坚实的基础;为IT企业输送高质量的从业者。

(二)分目标

1、知识目标

(1)了解数据结构课程的体系结构,掌握数据结构的基本概念和基础知识,能够集合java语言实现基本的数据结构和算法。

(2)掌握集合结构,能够运用java语言实现线性和链式存储结构的集合;

(3)掌握线性表结构,能够运用Java语言实现线性表结构;

(4)掌握堆栈和队列以及树和二叉树结构。

(5)掌握查找和排序算法,并且结合项目达到在项目中运用的能力;

2、能力目标

(1)使学生初步具备一个优秀的软件开发人员所应有的基本能力:会编写基本的算法、会利用数据结构解决基础编程语言不能直接表达的数据;

(2)为学生利用Java进一步研究与开发基于Android的APP应用奠定基础。

3、情感态度价值观目标

(1)规范意识:让学生学会编写规范代码,熟悉常用程序设计技巧。

(2)团队精神:培养学生的合作精神、协调工作和组织管理的能力。

(3)探究精神:关注学科发展趋势和应用前景,注重培养学生的对新技术的探究精神。

四、课程内容

授课内容

主要包括:数据结构基本概念、集合、线性表、堆栈和队列、树和二叉树、查找和排序等。

第一单元绪论

1、基础性内容

了解数据结构这么课程要讲解的内容,了解数据结构的课程地位、整体安排、教学进度及教学要求。掌握数据结构中的基本概念和术语,掌握数据结构中对算法的描述方法以及对算法的评价方式。

2、提高性内容

数据结构的基本概念和术语、对算法的描述方法和评价方式。

3、拓展性内容

了解信号灯的设计与数据结构之间的关系。

第二单元集合结构

1、基础性内容

了解集合结构,以及集合在编程中的使用。要求能够利用java编程语言实现集合结构,包括使用顺序存储方式实现集合结构以及操作、使用链式结构存储方式实现集合结构以及操作。另外要求使用

任意一种集合结构实现方式,去模拟数组的功能。

2、提高性内容

集合机构的定义和用途,集合结构的两种存储方式的实现。链式存储实现集合结构。比较两种存储方式的不同和使用范围。

3、拓展性内容

使用集合结构,了解数组的底层实现技术。

第三单元线性表

1、基础性内容

本章是数据结构课程中的一个重点内容,该章节全面介绍了线性表结构的基本定义以及使用场景,另外包含了线性表的描述以及不同实现方法的算法评价。要求完全掌握线性表的定义、描述、操作以及用java语言实现该结构并对不同的实现方式先的操作算法进行评价。

2、提高性内容

线性表的定义和运算,线性表的顺序存储结构的操作和实现,有序线性表的定义和实现,链式存储的一般概念和方法,线性表的链式存储和操作,有序线性表的链式存储实现。

3、拓展性内容

找到现实生活中运用到线性表的实例。

第四单元栈和队列

1、基础性内容

掌握堆栈和队列的基本定义和语法,以及这两种结构在计算机底层算法设计中所起到的作用。学习堆栈和队列在现实生活中对应的例子,并掌握堆栈的java语言实现方法,包括顺序存储结构的实现以及链式存储结构的实现。了解队列的java实现方式。

2、提高性内容

堆栈的实现方法、队列的实现方法。堆栈的链式存储结构的实现以及对关键操作的算法评价。

3、拓展性内容

尝试理解操作系统中的任务处理与堆栈和队列之间的联系。

第五单元树和二叉树

1、基础性内容

了解树结构的定义,了解二叉树的概念以及使用场景,了解二叉树的遍历方法。

2、提高性内容

使用java语言描述树和二叉树结构

3、拓展性内容

遍历二叉树

第六单元查找和排序

1、基础性内容

了解查找和排序在编程中的作用,掌握顺序查找算法的实现方法以及算法评价,掌握折半查询算法的实现方法以及算法评价。了解排序在折半查找中的作用,掌握选择排序、插入排序、交换排序的基本算法,并能够根据现实场景使用对应的算法。

2、提高性内容

顺序查找算法的实现、折半查找算法的实现。选择排序、插入排序、交换排序算法的实现。

3、拓展性内容

折半查找算法的实现、交换排序算法的实现,以及对算法的评价。

五、课程实施

3、教学建议

(1)教学组织与形式

本课程教学全部采用理论和实践相结合的模式,一次理论对应一次上机实践,,要求学生在课前加强预习,完成要求的任务,为机房上课做好准备;

充分利用多媒体教学软件,对学生编程和学习进度进行控制;

上课采用小班教学,进一步提高教学质量,关注每一个学生的学生进度,并加以辅导、充分调动和发挥学生主体性;

案例式教学,提供程序列表,和教学进度和知识点匹配;

(2)教学方法与手段

①教学方法:理论课教学根据所授内容的不同,采用恰当的教学方法实施教学,如:讲授法、讨论法、直观演示法和任务驱动教学法等;实验课采用训练与实践式教学方法使学生巩固、丰富和完善所学知识,培养学生解决实际问题的能力和多方面的实践能力;项目实训采用项目教学法,以实际应用为目的,通过师生共同完成教学项目而使学生获得数据库相关技术知识和数据库应用系统的开发能力。

②教学手段:采用多媒体现代化教学手段和传统的黑板教学手段相结合,有利于提高课堂教学效果,进行在线答疑。

(3)教学环境与策略

多媒体计算机与大屏幕投影仪为中心的多媒体教学环境,在这种环境下,教师主要播放教学课件进行讲授,利用软件课堂编写程序进行讲解;以网络技术为核心的教学环境,学生根据教师的安排进行自主式教学;多媒体实验中心和实训实验室教学环境,进行实验和项目实训操作。

3、考核方法

采用“N+2”成绩评定方式,主要构成及比例如下:

(1)考勤(30%):课前点名;

(2)课堂笔记(10%):教师讲解主要内容,重点和难点,含平时作业;

(3)期末考试(60%):

考试分制、形式与时间:百分制,闭卷、笔试,120分钟。

题型:填空题、选择题、简答题、程序分析设计题。

六、教材建设选用与参考书目

教材建设选用:

采用自编讲义

参考书目:

1.《Java程序设计教程》,段新娥等编著,人民邮电出版社,2014.1

2. 《Java编程思想》(美),Bruce Eckel著,侯捷译,(Thinking in Java,Second Edition),机械工业出版社,2012.9

3.《数据结构》,徐孝凯编著,清华大学出版社,2014.11.01

《数据结构课程设计》教学大纲2016

《数据结构课程设计》 任务书 专业: 班级: 指导老师: 安徽大学江淮学院 理工部 2016年9月1日

一、课程的性质、目的 《数据结构》是计算机专业的专业基础课,学生通过理论学习,并在完成每章后面的一些小程序后,理解了数据结构的基本概念,掌握了一些基本的编程技术,但仅有这一方面的训练还是很不够的。《数据结构课程设计》是在学完《数据结构》课程之后的实践教学环节,是本专业重要的技能培训之一。 设置本课程的目的是:综合运用在“数据结构"课程中学到的理论知识,使学生们在解决具体问题的过程中,能够灵活熟练地选择合适的数据结构及设计有效的算法,从而加深对常用数据结构理论知识的理解,强化学生的逻辑思维能力和动手能力,培养良好的编程习惯,掌握实用软件设计的基本方法,可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。为后续课程的学习打下坚实基础。 二、教学的基本要求 通过本课程的学习,要求掌握常见数据结构的使用方法、相关算法的分析和理解,实用程序的开发技术。 1、基础知识 (1)熟练掌握C程序设计方法。 (2)熟练掌握常用数据结构(堆栈、队列、链表、二叉树等)的应用和程序设计的方法。 (3)熟练掌握排序等算法的应用和程序设计方法。 2、基本技能 (1)掌握阅读和分析C程序的方法。 (2)掌握设计和调式C程序的方法。 (3)掌握实用程序的开发技术。 (4)重点掌握实用程序开发中,问题分析,数据结构的设计、程序总体结构设计,用户界面设计,验证数据的组织和使用等程序设计基本技能和技巧。 3、基本要求 学生应正确理解和熟练掌握常用数据结构和算法设计所需的技术,设计中要求综合运用在《数据结构》课程中所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。 设计结束后要按要求写出课程设计报告。

数据结构课程设计

1.一元稀疏多项式计算器 [问题描述] 设计一个一元稀疏多项式简单计算器。 [基本要求] 输入并建立多项式; 输出多项式,输出形式为整数序列:n, c1, e1, c2, e2,……, cn, en ,其中n是多项式的项数,ci, ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; [测试数据] (2x+5x8-3.1x11)+(7-5x8+11x9)=(-3.1x11+11x9+2x+7) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9-x+12x-3) (1+x+x2+x3+x4+x5)+(-x3-x4)=(x5+x2+x+1) (x+x3)+(-x-x3)=0 (x+x2+x3)+0=(x3+x2+x) [实现提示] 用带头结点的单链表存储多项式,多项式的项数存放在头结点中。 2.背包问题的求解 [问题描述] 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)、(3,5,2) [实现提示] 可利用回溯法的设计思想来解决背包问题。首先,将物品排成一列,然后顺序选取物品转入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品“太大”不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余的物品中找不到合适的物品以填满背包,则说明“刚刚”装入背包的那件物品“不合适”,应将它取出“弃之一边”,继续再从“它之后”的物品中选取,如此重复,直至求得满足条件的解,或者无解。 由于回溯求解的规则是“后进先出”因此自然要用到栈。 3.完全二叉树判断 用一个二叉链表存储的二叉树,判断其是否是完全二叉树。 4.最小生成树求解(1人) 任意创建一个图,利用克鲁斯卡尔算法,求出该图的最小生成树。 5.最小生成树求解(1人) 任意创建一个图,利用普里姆算法,求出该图的最小生成树。 6.树状显示二叉树 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出;

《数据结构》课程标准

《数据结构》课程标准 英文名称:DataStructure 学分: 4 适用专业:嵌入式系统工程 一、课程性质 《数据结构》是嵌入式系统工程专业的一门专业基础必修课程。本课程面向Android软件工程师的岗位需求,针对JDK1.6,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。本课程着重基本知识的掌握和基本技能的训练,为利用Java语言进一步开发基于Android的APP应用奠定基础。 二、课程理念 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。 将CDIO理念应用在数据结构课程中。CDIO是近年来国际工程教育改革的最新成果。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。 1、课程地位理念 在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。 2、课程学情理念 本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、java基础等知识,本课程力图让学生学会在java语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。 3、课程内容理念 根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性表、堆栈和队列、树和二叉树、查找和排序。内容主要包括:绪论、集合结构的线性存储实现方法、集合结构的链式存储实现方法、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。 4、课程要求理念 《数据结构》是一门偏重理论的课程,有很强的理论性。在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和java语言结合化。 5、课程考核理念 如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂笔记+期末考试”的方式。 三、课程目标 (一)总目标

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据库技术课程标准Word文档

课程标准 1 课程定位 《数据库技术》课程是计算机应用技术专业的一门核心课程。其主要任务是使学生掌握数据库的基础知识和基本技能,培养学生利用数据库系统进行数据处理的能力。通过学习数据库的理论及实践开发技术,使学生使用所学的数据库知识,根据实际问题进行数据库的创建和维护、检索与统计,能开发简单的数据库应用程序,具有计算机信息管理的初步能力。《数据库技术》是《C#程序设计》课程与《https://www.wendangku.net/doc/059159820.html,》课程的基础。 2 工作任务和课程目标 (一)工作任务及职业能力 工作任务与职业能力分析表

(二)课程目标 该课程将使学生掌握数据库管理的基本技术知识。学生在学习本课程的过程中将完成数据库的建立与维护,数据库表的建立与数据的录入与维护,在应用程序中访问数据库,数据库编程等工作任务。以通过本课程的学习,具备为各类应用程序提供数据库数据存储的技能。 知识目标 1 理解数据库、数据库系统、数据库的体系结构结构及分类等基本概念。 2 熟悉数据库基本管理方法:表的操作、数据完整性以及表的索引和视图、数据库查询和管理、数据库备份与恢复等。 3 认识和了解SQL语言。知道SQL语言的组成、功能。 4 了解数据库应用项目开发过程。

技能目标 1 具有根据系统需求分析绘制E-R图,并将E-R图转换为关系模型的能力; 2 具有对关系模型进行规范化能力; 3 具有创建数据库和数据库表的能力; 4 具有对数据库表进行添加、修改和删除数据的能力; 5 具有对数据进行查询、统计汇总的能力; 6 具有对数据库进行完整性维护的能力; 态度目标 本课程主要加强以下各方面职业素质的培养: 1 具有良好的思想品德和诚实、敬业、负责等职业道德; 2 具有良好的文化修养; 3 具有良好的团结协作精神、团队意识、组织协调能力; 4 具有开拓创新精神;。 3 教学组织 根据《数据库技术》课程工作任务与职业能力分析,为使学生掌握数据库的使用与维护工作,本课程设计了11个学习项目,在项目的教学实施中,进一步分解成62个学习型工作任务。 教学组织表

《数据结构》课程标准.doc

《数据结构》课程标准 适用专业:计算机应用技术、大数据技术 学时:72 前导课程:计算机应用基础、C语言程序设计 一、课程性质 《数据结构》是大数据应用专业的一门专业基础必修课程。本课程面向Android软件工程师的岗位需求,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。本课程着重基本知识的掌握和基本技能的训练,为利用c语言进一步处理数据奠定基础。 二、课程理念 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。 1、课程地位理念 在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。 2、课程学情理念 本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、C语言基础等知识,本课程力图让学生学会在C语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。 3、课程内容理念 根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性

表、堆栈和队列、树和二叉树、查找和排序。内容主要包括:绪论、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。 4、课程要求理念 《数据结构》是一门偏重理论的课程,有很强的理论性。在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和C 语言结合化。 5、课程考核理念 如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂实训练习+期末考试”的方式。 三、课程目标 (一)总目标 为学生的职业素质和职业技能的形成服务;为今后学习大数据处理技术奠定坚实的基础;为IT企业输送高质量的从业者。 (二)分目标 1、知识目标 (1)了解数据结构课程的体系结构,掌握数据结构的基本概念和基础知识。 (2)掌握线性表结构,能够运用C语言实现线性表结构; (3)掌握堆栈和队列以及树和二叉树结构。 (4)掌握查找和排序算法,并且结合项目达到在项目中运用的能力; 2、能力目标 (1)使学生初步具备一个优秀的软件开发人员所应有的基本能力:会编写基本的算法、会利用数据结构解决基础编程语言不能直接表达的数据; (2)为学生利用C进一步研究与学习大数据处理技术奠定基础。 3、情感态度价值观目标 (1)规范意识:让学生学会编写规范代码,熟悉常用程序设计技巧。 (2)团队精神:培养学生的合作精神、协调工作和组织管理的能力。 (3)探究精神:关注学科发展趋势和应用前景,注重培养学生的对新技术的探究精神。

数据结构课程教学大纲

《数据结构》教学大纲 课程性质专业必修课 课程名称数据结构课程编号*04069 适用专业计算机科学与技术/软件工程开课学期第3学期 总学时64 理论50 学分数 4 实践14 一、课程性质与目标 数据结构课程属于专业必修课。通过本课程数据结构的学习,学生应实现如下目标: 1.知识目标:本课程主要讲述线性表、栈、队列、字符串、数组、树、二叉树、图、查找表、内部排序等常用数据结构的基本概念、操作及其典型应用例子。通过本课程的学习,应使学生掌握数据结构的概念及不同的存储结构、掌握一些典型算法原理和方法,且能够在不同存储结构上实现编程,同时,对于算法设计的方式和技巧也有所体会。 2.能力目标 (1)独立获取知识的能力——逐步掌握科学的学习方法,不断地扩展知识面,增强独立思考的能力,更新知识结构; (2)科学观察和思维的能力——运用数据结构的基本理论,熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。 (3)分析问题和解决问题的能力——学会利用数据结构原理分析实际问题,提高发现问题与解决问题的能力。对部分优秀的学生,培养其在知名程序设计在线评测系统(如POJ等)中求解实际问题的能力。 (4)求实精神——通过数据结构理论课程教学,培养学生严谨求实的科学态度和刻苦钻研的作风。 (5)实践能力——通过学习,有意识地培养学生编写高质量、高效率程序的能力和风格。 3.素质目标:使学生具备一定的计算思维,热爱算法设计和程序实现,面对实际问题能转换为计算机能够求解的过程并选择合适的数据结构,设计出在时间和空间上具备一定高效率的程序,培养学生学习算法设计与实现的细心和耐心,培养学生坚韧不拔,攀登技术高峰的优秀品质。让部分优秀的学生热爱上湖南省大学生程序设计竞赛,体会ACM程序设计竞赛的魅力。 二、课程教学基本要求 课程前应该认真预习,特别是前导课程相关知识体系; 课中应该认真听课,参与教学过程中的互动、回答问题及联系实际编程; 课后积极做好复习、认真完成作业及课程设计相关实践教学的环节。作业应具备一定实用性的数据结构和算法实现为主,对部分优秀学生,引入一定量的知名程序设计在线评测系统(如POJ等)中与数据结构相关的题目进行编程并在线提交验证正确性与时间、空间效率。 三、教学内容与学时分配

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

Access数据库课程标准.docx

《 Access 数据库》课程标准 一、课程性质: 本课程是中职计算机网络技术专业学生的专业必修课。本课程的主要任务是:随着计算机技术和数 据库技术的迅速发展,数据库技术已经应用到社会的各个领域。其后续课程为电子商务网站建设、数据 库应用( SQL Server)等。数据库基础教学总时数为38 学时(其中理论学时为20 学时,实践学时为18学时),共分12 章。 二、课程理念: 通过本门课程的开设,培养学生掌握基本的数据库理论知识、一定的实用技术和实际的计算机数据库问 题的基本能力,能够使用Access 软件进行中小型数据库应用系统的开发。建成以课堂教学和网络教室资 源全面整合的优良的教学环境,支持学生的自主性、研究性学习。注重全体学生的发展,改变学科本位 的观念;注重科学探究,提倡学习方式多样化;注重学生能力培养,构建新的评价体系。 三、课程目标: (一)课程总体目标 《Accesss 数据库程序设计》课程培养学生对数据库、关系型数据库的相关概念以及数据库设计方法的理解, 对表、查询、窗体、报表、数据访问页、宏、模块等概念的理解,并掌握数据库、表、查询、窗体、 VBA 语言报表、数据访问页、宏、模块的创建方法,深入理解数据库中各个对象之间的关系,掌握使用 编程的基本方法,最终能够灵活使用Access 数据库管理系统创建一般复杂的数据库应用系统。 本课程是一个实践性非常强的课程,要求学生要打好理论基础,注重上机实践。 (二)具体目标 1 .素质目标 了解我国的信息化发展、资源利用状况,培养爱祖国、爱家乡的情感,增强振兴祖国和改变祖国面貌的 使命感与责任感。 乐于探索美的真蒂,具有实事求是的科学态度、一定的探索精神和创新意识。 关注与信息有关的社会问题,初步形成主动参与社会决策的意识。 2 .能力目标 培训学生掌握一定的实用技术和实际的计算机数据库问题的基本能力,能够使用Access 软件进行中小型 数据库应用系统的开发,初步学会运用所学的知识分析和解决某些生活、生产或社会实际问题。 3 .知识目标 通过对数据库基本理论知识的学习,能够使用Access 软件进行中小型数据库应用系统的开发。 四、课程内容与基本要求: 本课程属数据库技术基础性教学,基于Access 环境,重点介绍图形用户界面下数据库和表的建立、索引 和关系的定义、记录的基本操作等,引入必要的关系数据库理论知识,以培养学生分析和设计小型数据 库结构的能力。 本课程分为掌握、理解、了解三种层次要求;“掌握”的内容要求理解透彻,能在本学科和相关学科的学习 工作中熟练、灵活运用其基本理论和基本概念;“理解”的内容要求能熟知其相关内容的概念及有关理论, 并能适当应用;“了解”的内容要求对其中的概念和相关内容有所了解。 附课内总学时讲授主要知识点及课内学时分配表:

数据结构-教学大纲

《数据结构》教学大纲 课程编号:071213A 课程类型:□通识教育必修课□通识教育选修课 □专业必修课□专业选修课 ■学科基础课 总学时:48讲课学时:32 实验(上机)学时:16 学分:3 适用对象:计算机科学与技术专业 先修课程: 程序设计基础与应用、计算机基础 一、教学目标 本课程是计算机科学与技术专业的必修课。本课程是计算机科学与技术专业的核心课程,既重视学生相关理论的系统学习,又强调培养学生发现问题、分析问题和解决问题的实践能力。《数据结构》在计算机科学中是一门综合性的专业主干课,它是介于数学、计算机硬件、计算机软件三者之间的一门核心课程,而且是操作系统、数据库系统及其它系统程序的大型应用程序设计的基础,同时又直接为从事各类计算机应用的技术人员提供了必要的基本知识和解决实际问题的多种方法。 用计算机解决任何问题都需要进行数据表示和数据处理,而数据表示和数据处理正是《数据结构》要研究的内容。《数据结构》主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。该课程逻辑上以线性结构、层次结构、网状结构为主线,物理上分顺序存储、链式存储,分别介绍基本数据结构的特点和算法。并重点介绍有关各种检索、排

序和文件组织的常用算法。通过上述知识的学习和能力的提高,为后续学习和实际工作打下良好的知识基础和能力基础。 目标1:通过对数据结构基本知识进行讲解,让学生理解并掌握数据的逻辑结构和物理结构,并掌握算法设计的基本思想。 目标2:培养学生分析算法复杂度的初步能力,锻炼学生逻辑思维能力和想象能力,并使之了解数据结构的各种应用场景。 目标3:鼓励学生运用算法知识解决各自学科的实际问题,培养他们的独立科研的能力和理论联系实际的能力。 二、教学内容及其与毕业要求的对应关系 (一)教学内容 1.知识体系 第一部分:数据结构的基本概念,包括数据、数据元素、数据项等基本概念、数据类型、抽象数据类型、算法的定义、算法的特性、算法的时间代价、算法的空间代价; 第二部分:线性表的逻辑结构特性,以及线性表的两种存储实现方式;顺序表的定义与实现,包括搜索、插入、删除算法的实现及其平均比较次数的计算;单链表的类定义、构造函数、单链表的插入与删除算法及其平均比较次数的计算; 第三部分:栈的定义、特性和栈的抽象数据类型,栈的顺序表示、链表表示以及相应操作的实现;队列的定义、特性和队列的抽象数据类型,队列的顺序表示、链表表示以及相应操作的实现; 第四部分:串的定义,串的表示和实现,串的操作的定义; 第五部分:数组的两种存储表示方法;矩阵的压缩存储; 第六部分:树和森林的概念。包括树的定义、树的术语、树的抽象数据类型;二叉树的概念、性质及二叉树的表示;二叉树的遍历方法;线索化二叉树的特性及寻找某结点的前驱和后继的方法;树与森林的实现,重点在用二叉树实现;森林与二叉树的转换;树的遍历算法;二叉树的计数方法及从二叉树遍历结果得到

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 2010年6月

建立二叉树和线索二叉树 1.问题描述: 分别用以下方法建立二叉树并用图形显示出来: 1)用先序遍历的输入序列 2)用层次遍历的输入序列 3)用先序和中序遍历的结果 2.设计思路: 分三个方式去实现这个程序的功能,第一个实现先序遍历的输入数列建立二叉树;第二个是用层次遍历的方法输入序列;第三个是用先序和后序遍历的结果来建立二叉树;三种方法建立二叉树后都进行输出。关键是将这三个实现功能的函数写出来就行了;最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。 3.数据结构设计: 该程序的主要目的就是建立二叉树和线索二叉树,所以采用树的存储方式更能完成这个程序; 结点的结构如下: typedef struct bnode { DataType data; int ltag,rtag; struct bnode *lchild, *rchild; } Bnode, *BTree; 4.功能函数设计: BTree CreateBinTree() 用先序遍历的方法讲二叉树建立; BTree CREATREE() 用队列实现层次二叉树的创建; void CreatBT(); 用先序和中序遍历的结果建立二叉树; void InThread(BTree t,BTree pre) 中序线索化; 5.编码实现: #include #include #define max 100 typedef struct bnode { char data; int ltag,rtag; struct bnode *lchild,*rchild; }Bnode,*BTree; BTree Q[max]; BTree CREATREE() { char ch; int front=1,rear=0;

《数据库应用》课程教学大纲

《数据库应用》课程教学大纲 课程类别:专业核心课 适用专业:经济信息管理/工商企业管理/会计/市场营销 适用层次:高起专 适用教育形式:网络教育/成人教育 考核形式:考试 所属学院:经济管理学院 先修课程:无 一、课程简介 本课程是一门专业课程。主要讲述数据处理的方法和相关技术。具体包括数据库的概念、关系的结构、表的形成、表单的制作和数据的分析管理。 二、课程学习目标 数据库应用领域已从数据处理、事务处理、信息管理扩大到计算机辅助设计、人工智能、信息系统等更广阔的应用领域。本课程面向实际应用,研究如何存储、使用和管理数据,有较强的理论性和实用性。本课程旨在介绍数据库系统以及关系数据库系统的基本概念、基础理论以及相关知识,同时,系统讲述数据库设计理论和数据库系统的安全性、完整性、并发控制等相关概念和技术,为学生全面了解数据库技术在管理信息系统中的应用,运用数据库技术从事信息管理,开发、运行和维护管理信息系统打下坚实的基础。 三、课程的主要内容及基本要求 (一)理论学时部分 第一章数据库系统基础 『知识点』 数据库基本概念;数据库技术的产生和发展;数据库管理系统的功能;数据库管理系统的组成;数据库应用系统的体系结构;数据库应用系统的三级数据模式;概念模型与数据模

型。 『重点』 数据库管理系统的功能和组成;数据库应用系统的三级数据模式;概念模型与数据模型。 『难点』 三级数据模式;概念模型与数据模型。 『基本要求』 1、识记:数据库、DBMS、数据模型。 2、领会:DBMS的功能与组成;三级模式结构如何保证数据与程序的独立性;建立数据模型的意义。 3、简单应用:要求学生能正确认识管理需求,并用概念模型表达。 第二章关系数据库 『知识点』 关系数据结构及性质;关系的完整性;关系代数。 『重点』 关系数据结构。 『难点』 关系数据结构;主键约束、外键约束。 『基本要求』 1、识记:关系数据结构的定义和相关基本概念;关系的性质;完整性约束;关系代数运算。 2、领会:关系模型与集合代数的关系;关系操作语言。 3、简单应用:要求学生正确认识关系的候选键、主码、外码、主属性。

数据结构课程教学大纲共三套

数据结构课程教学大纲(三套) 《数据结构》课程教学大纲(36/36课时) 一、课程的性质和任务 数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。 本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。 二、课程的基本要求 本课程的教学基本要求如下: 本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。实践项目只利用课堂时间是不够的,必须提前布置给学生。通过本课程的学习与实践,学生应达到: 1、掌握数据结构的基本概念和基本理论; 2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析; 3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识; 4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构,定义所需的运算,设计相应的算法; 5、对算法进行分析和评价。

三、教学内容(一)理论教学

(二)实践环节

四、课时分配 《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。 五、大纲说明 本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能:1.社团招收新成员; 2.修改社团相应信息 3.老成员离开社团 4.查询社团情况; 5.统计社团成员数; 二、简单文本编辑器 设计一个文本编辑器,允许将文件读到内存中,也就是存储在一个缓冲区中。这个缓冲区将作为一个类的内嵌对象实现。缓冲区中的每行文本是一个字符串,将每行存储在一个双向链表的结点中,要求设计在缓冲区中的行上执行操作和在单个行中的字符上执行字符串操作的编辑命令。 基本要求: 包含如下命令列。可用大写或小写字母输入。 R:读取文本文件到缓冲区中,缓冲区中以前的任何内容将丢失,当前行是文件的第一行; W:将缓冲区的内容写入文本文件,当前行或缓冲区均不改变。 I:插入单个新行,用户必须在恰当的提示符的响应中键入新行并提供其行号。 D:删除当前行并移到下一行; F:可以从第1行开始或从当前行开始,查找包含有用户请求的目标串的第一行; C:将用户请求的字符串修改成用户请求的替换文本,可选择是仅在当前行中有效的还是对全文有效的。 Q:退出编辑器,立即结束; H:显示解释所有命令的帮助消息,程序也接受?作为H的替代者。 N:当前行移到下一行,也就是移到缓冲区的下一行; P:当前行移到上一行,也就是移到缓冲区的上一行;

B:当前行移到开始处,也就是移到缓冲区的第一行; E:当前行移到结束处,也就是移到缓冲区的最后一行; G:当前行移到缓冲区中用户指定的行; V:查看缓冲区的全部内容,打印到终端上。 三、电话客户服务模拟 一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环的 自增1(分钟)直到达到指定时间为止。在时钟的每个"时刻",就会执行一次检查来看看对当前电话服务是否已经完成了,如果是,这个电话从电话队列中删除,模 拟服务将从队列中取出下一个电话(如果有的话)继续开始。同时还需要执行一个检查来判断是否有一个新的电话到达。如果是,其到达时间被记录下来,并为其产生一个随机服务时间,这个服务时间也被记录下来,然后这个电话被放入电话队列中,当客户人员空闲时,按照先来先服务的方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,但是服务将继续,直到队列中所偶电话都得到处理为止。 基本要求: (1)程序需要的初始数据包括:客户服务人员的人数,时间限制,电话的到达速率,平均服务时间 (2)程序产生的结果包括:处理的电话数,每个电话的平均等待时间 四、停车场管理 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的交费(从进入便道开始计时)。在这里假设汽车从便道上开走时不收取任何费用 基本要求: (1)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

数据结构课程设计报告

数据结构课程设计报告 题目:5 班级:计算机1102 学号:4111110030 姓名:陈越 指导老师:王新胜

一:需求分析 1.运行环境 TC 2.程序所需实现的功能 几种排序算法的演示,要求给出从初始开始时的每一趟的变化情况,并对各种排序算法性能作分析和比较: (1)直接插入排序; (2)折半插入排序; (3)冒泡排序; (4)简单选择排序; (5)快速排序; (6)堆排序; (7)归并排序. 二:设计说明 1.算法设计的思想 1)、直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序。 2)、折半插入排序 排序过程:用折半查找方法确定插入位置的排序叫折半插入排序。 3)、冒泡排序

排序过程:将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序r[1].key>r[2].key,则交换;然后比较第二个记录与第三个记录;依次类推,直至第n-1个记录和第n个记录比较为止——第一趟冒泡排序,结果关键字最大的记录被安置在最后一个记录上。对前n-1个记录进行第二趟冒泡排序,结果使关键字次大的记录被安置在第n-1个记录位置。重复上述过程,直到“在一趟排序过程中没有进行过交换记录的操作”为止 4)、简单选择排序 排序过程:首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换。再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换。重复上述操作,共进行n-1趟排序后,排序结束。 5)、快速排序 基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序。 排序过程:对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录rp=r[s],x=rp.key。初始时令i=s,j=t。首先从j所指位置向前搜索第一个关键字小于x的记录,并和rp交换。再从i所指位置起向后搜索,找到第一个关键字大于x的记录,和rp交换。重复上述两步,直至i==j为止。再分别对两个子序列进行快速排序,直到每个子序列只含有一个记录为止。 6)、堆排序 排序过程:将无序序列建成一个堆,得到关键字最小(或最大)的记录;输

数据结构教学大纲(完整资料).doc

【最新整理,下载后即可编辑】 XX师范学院大学本科专业教学大纲中文课程名称:数据结构 英文课程名称:Data Structures 适用专业:信息管理与信息系统 制定单位:商学院 执笔人: 审核人: 单位负责人: 制定时间:2017-2-10 XX师范学院教务处

二〇一七年一月

《数据结构》课程教学大纲 一、课程基本信息 (一)课程代码及课程名称 1.课程代码:06151090 2.课程名称(中/英文):数据结构/Data Structures (二)课程类别及课程性质 专业教育必修课程 (三)学时及学分: 总学时数:64;总学分数:3。 其中,讲授学时:32 ,实践(实验)学时:32。 (四)适用专业及开设学期 适用专业:信息管理与信息系统(本科) 开设学期:第二学期 (五)先修课程与后续课程 先修课程:大学计算机基础、高等数学、C语言程序设计 后续课程:数据库原理与应用、管理信息系统分析与设计、管理信息系统、Java程序设计(高级) 二、课程简介 “数据结构”是信息管理与信息系统专业一门重点专业基础

课程,也是学科专业核心专业基础课程之一,属于专业学位必修课程。本课程的教学任务是针对大量的信息处理对象,介绍对象信息与数据表示的各种抽象的、基本的逻辑结构及其上的基本运算操作。通过研究各种基本数据结构内在的逻辑关系和它们在计算机中的存储表示方式,初步建立数据结构上基本运算操作的正确性概念,同时,结合各种典型问题讨论其上的各种基本运算操作及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本算法效率的定性和定量分析方法,为后续课程提供必要的数据结构基础。此外,配合实验课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数据结构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。 三、教学目的与基本要求 (一)该课程教学目的与专业培养要求对应关系矩阵

数据结构课程设计报告模板

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

数据结构课程设计报告(完结)

《数据结构》课程设计手册 一、 栈的使用 (一)需求分析 本程序通过java 语言完成栈的构造,对堆栈的数据进行基本的存储操作。具体包括,数据的入栈、出栈、读取等。 入栈操作:要求用户从键盘出入要进栈的数值或字符,对栈满的情况作出提示。 出栈操作:删除栈顶元素,并将删除的数据或字符在运行结果中显示。对栈空的情况作出提示。 读取操作:在插入和删除的任意阶段都可讲栈中的元素读取出来,能够实现对栈中的数据元素个数进行统计。 (二)概要设计 1.为了实现上述程序功能,需要定义栈的数据类型有: static int MAX=5; static String[] item =new String[MAX]; static int top; 2.本程序包含4个函数 Push() 初始条件:栈未满 操作结果:往栈中插入数据; Pop() 初始条件:存在非空栈 操作结果:将栈中的数据删除; Get() 初始条件:存在非空栈 操作结果:显示非空栈中的所有元素; Main() 操作结果:调用以上函数。 程序流程图: Main() Pop() Push() Get()

(三)详细设计 具体代码见Stack.java 基本操作: Stack()构造一个空的栈,初始状态top的指针为-1; 入栈方法public static void push()。该方法中,首先判断是否栈满(top>=MAX-1),如果栈满,则输出提示语“栈满 ,栈中最多能容纳5个元素”,否则从键盘输入数据,并且top指针加1。 出栈方法public static void pop()。首先判断是否栈空(top<0),如果栈空,则输出提示信息“栈空 ,没有可操作的元素”,否则删除栈顶元素。Top指针减1。

相关文档