当前位置:文档之家› 《数据结构》课程实践教学

《数据结构》课程实践教学

《数据结构》课程实践教学
《数据结构》课程实践教学

《数据结构》课程实践教学探索

[摘要] 《数据结构》是计算机专业一门重要的专业基础课程,本文就《数据结构》课程实践教学中存在的问题进行了细致的分析,提出了对该课程的实践教学进行改革的建议,介绍了在课程设计环节的具体做法,以提高该课程的教学效果,增强学生的实践能力。[关键词] 数据结构实践教学课程设计

1.引言

《数据结构》是计算机学科的核心课程,也是一门十分重要的综合性专业基础课程;既是程序设计的理论基础,也是多门后续课程的学习基础,在整个教学体系中占据非常重要的地位。特别是自2009年起全国硕士研究生入学考试计算机学科专业基础课实行统考后,对于如何提高《数据结构》课程的教学效果和教学质量,提高学生考研成绩,已成为广大从事计算机专业教学的教师们共同关心的课题。

多年来由于各种原因,特别是在《数据结构》的教学中忽视了实践教学的重要性,理论与实践脱节,实际的教学效果离我们期望值有较大的差距。因为《数据结构》是一门实践性很强的课程,实验是教学环节中必不可少的组成部分。但在教学的实验环节中,学生普遍存在很大的困惑与疑问,即使很多学生有时理论理解了,但实验却难以上手,最终还是达不到学习的效果。本文就此分析实践教学中存在的问题,并提出改革措施。

2.实践教学中存在的问题

思修课程实践教学实施设计方案··

《思想道德修养与法律基础》课程实践教学实施方案 《思想道德修养与法律基础》课是一门实践性极强的课程。教育部在2012年《关于进一步加强高等学校思想政治理论课教师队伍建设的意见》中提出,要从高校思想政治理论课现有学分中划出1个学分开展思想政治理论课实践教学,这是高校思想政治理论课理论联系实际的有效形式,也是深化思想政治理论课改革、提高教学实效的重要环节。该门课程核定为36学时,按照教育部教改的新要求,其中理论讲授为24学时,实践教学12学时。依据本课程的教学目标,为加强本课程的实践环节教学改革,特制定如下实践教学实施方案。 一、实践教学目的 《思想道德修养与法律基础》课的出发点和落脚点是适应大学生成长成才的需要,帮助大学生科学认识人生,加强道德修养,树立应有的法治观念,通过多样化的实践教学,一方面解决思想政治理论课教学从理论到理论单一的模式,把理论教学与实践教学结合起来;另一方面,通过给学生提供自学、思考、研究、创新的时间和空间,提高大学生的实践能力,引导他们以健康向上的道德、法治精神实践人生,让大学生在实践中加强生活体验,感悟历史使命和社会责任,升华思想境界,铸造优良思想品德;在实践中学会做事,学会做人,学会运用马克思主义立场、观点和方法去分析问题,解决问题,从而提高认知能力、思辨能力和实践能力。 二、实践教学设计思路 1.与理论教学形成良性互动,增强教学实效性。针对课堂教学内容,有意识、有目的地安排体现理论运用的实践教学活动,使学生在实践活动中深化对理论知识的理解,并运用理论知识分析问题、解决问题。通过实践教学活动,实现大学生在思想道德修养与法律修养方面的“知”“行”统一。 2.充分体现主体地位,促进学生自我教育。通过实践教学活动,促进学生主体个性的彰显、主体能力的提升、主体精神的培养、主体人格的完善,自觉地对思想和行为进行自我认识、自我规范、自我调控,使学生在实践中实现自我教育。 3.丰富人文社科知识,完善学生知识结构。通过实践教学活动,引导大学生对人文社会科学方面问题的重视和兴趣,从而在实现思想政治教育和法制教育功能的同时,进一步发挥其人文教育功能,帮助大学生有计划地提高自己的组织能力、表达能力、社交能力等。 4.通过实践教学,切实增强《思想道德修养与法律基础》课的感染力、说服力。通过教改,积极引导学生了解社会、增长知识、提升能力,激发学生的爱国热情和民族自豪感,增强集体

数据结构课程设计

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)处输出;

思修课实践教学活动内容

《思想道德修养与法律基础》课 实践教学活动内容 【实践主题】大学生与大学生活 【实践方式】小组完成:10人一组,自愿组合,组员分工合作。【调查参考主题】: 1、本校一年级学生适应大学生活状况的调查与分析 2、本校大学生消费观念调查与分析 3、大学生心理健康状况调查与分析 4、大学生社会公德状况调查与分析 5、大学生上网络情况调查与研究 6、大学生恋爱观调查与分析 7、本校大学生环保意识调查与分析 8、大学生法律意识调查与分析 【实践步骤】: 在任课教师的指导下拟定调查方案、设计调查内容、制作调查问卷。 分小组开展调查,对调查结果进行分析,撰写调查报告。 【考核方法】各组小组在课堂上就调查的情况进行汇报,教师与各组小组长组成评委,现场评定各组实践教学排名。任课教师根据学生设计的调查问卷、撰写的调查报告、汇报排名及其他相关材料给出实践教学环节的成绩。 【实践学时】:本学期本课程教学实施计划中共安排实践教学6课时。 【考核方法】任课教师根据学生设计的调查问卷、撰写的调查报告及其他相关材料给出实践教学环节的成绩。 【提交材料】调查问卷、调查报告、活动照片以及其他相关真实材料。 任课教师:郭秋玲 2016年10月17日

调查报告格式要求 一、标题要求 一种是规范化的标题格式。基本格式为“关于××××的调查报告”、“××××调查”等。 另一种是自由式标题,包括陈述式和正副题结合使用三种。陈述式如《xx大学毕业生就业情况调查》; 提问式如《为什么大学毕业生择业倾向沿海地区》;正副标题结合式如《高校发展重在学科建设――××××大学学科建设实践调查》等。 二、列出调查的主要内容 调查时间: 调查地点: 调查对象: 调查方法: 调查人及分工: 三、报告正文 一、调查目的 二、调查内容 三、调查结果与分析 附:调查问卷

实践课程教学大纲

实践课程教学大纲 《机械制造基础》实践一 适用于机类专业 课程代码:JT001 一、课程名称:机械制造基础 二、学分数:9学分(27天) 三、实践教学目标及要求 “机械制造基础”实践课程是一门实践性的基础技术课,该课程的教学目标为:在实践中使学生对典型的工业产品的结构,制造过程有一个基本的体验和认识,通过结合典型产品

的制造加工过程,对学生进行基本操作技能的训练,培养学生大工程意识,实践创新精神和解决问题的能力,并为今后从事制造和设计工作打下基础。 通过本课程的学习应达到以下要求: 1、了解金属加工的主要加工方法,所用设备和工具,并有初步的操作技能。 2、了解现代工业生产先进制造技术,初步掌握计算机辅助设计、计算机辅助制造的方法与应用。 3、对毛坯和零件加工工艺有一般的了解。 4、熟悉有关的工程术语,了解生产中的主要技术文件及生产组织管理方式。 四、实践教学内容 机械制造基础实践内容分为传统机械制造方法实践、现代机械制造技术实践、创新制作实践三大部分。 1、传统机械制造方法实践教学内容 在该部分实践教学中,学习运用铸造、焊接、热处理、零件表面处理等方法将材料制成毛坯或直接加工成零件;学习车削、铣削、刨削、磨削、钻削等各种加工方法将毛坯或材料成形为高精度,低粗糙度的零件;学习钳工基本操作与装配技术将零件装配为机器;学习常用量具的使用和检测技术。 2、现代机械制造技术实践教学内容 在该部分实践教学中,学习利用数控车床、数控铣床、数控线切割、电火花成型等多种加工方法将毛坯或材料成形为高精度、低粗糙度的零件,学习中使学生受到设计、编程、加工一体化的训练。 学习利用“慧鱼”先进的工程教学模型进行部件、整机的搭建;机构创新;学习LLWIN 基本编程方法,进行部件整机的系统仿真,工程模拟; 3、创新制作实践教学内容 在该部分实践教学中,学习利用“慧鱼”先进的工程教学模型进行部件、整机的搭建;机构创新;学习LLWIN基本编程方法,进行部件整机的系统仿真,工程模拟;学习AutoCAD、Mastercam.8计算机辅助设计、计算机辅助制造课程。 五、实践教学安排

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

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

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

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

数据结构与算法核心课程建设

数据结构与算法核心课程建设 摘要:针对数据结构与算法课程理论联系实际的特点,文章提出在课程建设过程中应不断完善课程体系,加强团队建设,深入教学改革以及丰富教学资源,从培养学生的兴趣入手,注重学生思维能力、动手能力和创新能力的培养,最终达到提高教学质量的目的。 关键词:数据结构;课程体系;实践教学;课程群 1背景 数据结构与算法是计算机类专业的一门核心基础课程,是计算机、软件工程等电子信息类专业的必修课。本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法;介绍了常用的多种查找和排序技术,并对其进行性能分析和比较,内容非常丰富[1-2]。本课程的教学目标是加强学生对数据逻辑关系的分析与认识,培养学生数据抽象的能力,通过理论分析与编程实践相结合,增强学生求解复杂问题的能力以及控制算法复杂性的能力。 在计算机科学中,数据结构不仅是程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统等系统程序和各种大型应用程序的重要基础[3]。数据结构与算法是计算机类专业部分专业课的先导课,如操作系统、编译原理和数据库原理等,因此它为后续的专业课程学习提供必要的知识和技能储备[4]。数据结构与算法课程一直以来都是本学科的核心专业基础课程,而且正逐渐发展成为众多理工科专业的热门选修课。只有学好了这门课,才能在今后的计算机专业课程的学习中游刃有余。因此,本课程在国内同类课程中有较明显的先进性和示范性。 根据新世纪对人才培养的要求,教学应重在学生能力、素质的培养,尤其是思维能力、实践能力、创新能力的培养。多年来我们致力于数据结构核心课程的建设,从完善课程体系、加强团队建设、深入教学改革和丰富教学资源等各个环节不断探索和实践。从提高学生的学习兴趣和加强实践环节教学方面入手,在教育教学方面持续、深入地改进教学方法,开展教学研究,提高教学质量。 2完善课程体系 首先,完善以“扎实基础,强化实践,引导创新”为培养目标的课程体系。计算机类专业核心基础课程体系主要由离散数学、面向对象的程序设计、数据结构与算法、操作系统、编译原理、计算机组成与结构、数据库原理7门课程组成,用于支撑计算机科学与技术、软件工程、网络工程、信息安全、数字媒体技术5个计算机科学相关专业的教学。 我们将课程群的理念引入计算机专业基础类课程教学,建立了以数据结构为核心的计算机类基础课程群,如图1所示。课程群以培养综合运用计算机基础知

教学教育部2017年度综合实践课程纲要

中小学综合实践活动课程指导纲要 为全面贯彻党的教育方针,坚持教育与生产劳动、社会实践相结合,引导 学生深入理解和践行社会主义核心价值观,充分发挥中小学综合实践活动课程 在立德树人中的重要作用,特制定本纲要。 一、课程性质与基本理念 (一)课程性质 综合实践活动是从学生的真实生活和发展需要出发,从生活情境中发现问题,转化为活动主题,通过探究、服务、制作、体验等方式,培养学生综合素 质的跨学科实践性课程。 综合实践活动是国家义务教育和普通高中课程方案规定的必修课程,与学 科课程并列设置,是基础教育课程体系的重要组成部分。该课程由地方统筹管 理和指导,具体内容以学校开发为主,自小学一年级至高中三年级全面实施。 (二)基本理念 1.课程目标以培养学生综合素质为导向 本课程强调学生综合运用各学科知识,认识、分析和解决现实问题,提升 综合素质,着力发展核心素养,特别是社会责任感、创新精神和实践能力,以 适应快速变化的社会生活、职业世界和个人自主发展的需要,迎接信息时代和 知识社会的挑战。 2.课程开发面向学生的个体生活和社会生活 本课程面向学生完整的生活世界,引导学生从日常学习生活、社会生活或 与大自然的接触中提出具有教育意义的活动主题,使学生获得关于自我、社会、自然的真实体验,建立学习与生活的有机联系。要避免仅从学科知识体系出发 进行活动设计。 3.课程实施注重学生主动实践和开放生成 本课程鼓励学生从自身成长需要出发,选择活动主题,主动参与并亲身经 历实践过程,体验并践行价值信念。在实施过程中,随着活动的不断展开,在 教师指导下,学生可根据实际需要,对活动的目标与内容、组织与方法、过程 与步骤等做出动态调整,使活动不断深化。 4.课程评价主张多元评价和综合考察 本课程要求突出评价对学生的发展价值,充分肯定学生活动方式和问题解 决策略的多样性,鼓励学生自我评价与同伴间的合作交流和经验分享。提倡多 采用质性评价方式,避免将评价简化为分数或等级。要将学生在综合实践活动 中的各种表现和活动成果作为分析考察课程实施状况与学生发展状况的重要依据,对学生的活动过程和结果进行综合评价。 二、课程目标

数据结构课程改革探讨

数据结构课程改革探讨 [摘要]数据结构是计算机专业重要的专业基础课。文章对数据结构课程改革进行探讨,确定了“知识、能力、素质”的教学质量观,提出“厚基础+开放性思维+创新意识=创新人才”的教学理念,设计了“案例、算法、理论”反推式的理论教学方案和“点、线、面”一体化多层次的实践教学方案,构建了“讲坛、网坛、论坛”多平台紧密结合的教学环境。 [关键词]数据结构课程教学理念教学方法教学手段 数据结构是计算机专业的专业基础课,在整个课程体系中处于承上启下的核心地位。该课程在教给学生数据结构设计和计算机求解问题的同时,培养学生的抽象思维能力和逻辑推理能力,增强分析问题和解决问题的能力,更重要的是培养专业兴趣树立创新意识。对数据结构课程的改革,要从教学理念入手。 一、“厚基础+开放性思维+创新意识=创新人才”的教学理念 1.厚基础。所谓厚基础,就是掌握深厚的理论基础,包括基本概念、基本原理、基本方法。使学生具备一定的可持续发展能力是该课程最重要的目标。在数据结构的授课过程中,始终强调要将基本的理论基础做厚,然后才能谈到应用、创新。以基本概念为中心,将知识点变成知识网,对基本概念强调网状理解。对于基本理论,不是“填鸭式”教学,而是“授之以渔”,教授概念的网状理解的方法,提高自主学习能力。 2.开放性思维。有人说,“编程是一种艺术”,而程序员像艺术家一样,也有发挥创造性的无限空间。作为程序设计基础的数据结构,担负着培养学生具有创造性、开放性思维的重任。首先,培养正确读程序的习惯。在刚入门时,程序比较简单,所以可以一行、一行地读代码,在该课程中要培养学生成对编码的思维,并且学会分块阅读代码,只有这样,才能理解和学习程序的设计思路,提高抽象思维能力,进而培养开放性思维。其次,学会将问题拆开。教学生将一个大的问题拆成几个模块来思考,将一个模块拆成几个抽象的逻辑步骤来解决。最后,在解决问题的过程中也要始终贯穿开放性思维的培养。例如,对于算法的讲授,不是就算法而讲算法,而是首先讲找到思考问题的入口点,从入口出发寻找解决问题的途径,顺着该途径不断地提出子问题、解决子问题直到解决本原问题。培养了学生的这种开放性的思维,学生就可能找到其他途径,找到其他方法,从而培养学生用开放性思维解决问题的能力。

概论课实践教学方案2011

浙江外国语学院《毛泽东思想和中国特色社会主义理论体系概论》本科2011-2012学年第一学期实践教学方案 一、活动目的与意义 实践教学是《毛泽东思想和中国特色社会主义理论体系概论》课的重要教学环节,旨在引导大学生理论联系实际,提高大学生关注社会、关注现实的热情和能力;使学生在社会实践活动中受教育、长才干,增强社会责任感;帮助学生通过社会实践加深对所学理论知识的理解,加深学生对中国化马克思主义和中国共产党的路线方针政策的理解和认识;帮助学生树立正确的世界观、人生观,培养学生运用中国化马克思主义分析、解决实际问题的能力,提高学生社会交往、调查访问、数据分析等方面的实际能力 二、活动任务与要求 任课教师和参与实践教学活动的学生都要高度重视本课程实践教学,积极投实践调查,必须严格按照实践教学方案的要求实施实践教学活动。学生必须认真撰写和提交社会调研报告,教师对学生的社会调研报告进行考评,并按照80%的比例记入学生本课程学习的平时成绩,。 1、参加对象: 本学期开设毛泽东思想和中国特色社会主义理论体系概论课程各本科教学班。 2、活动时间: 2011年09月至2012年01月。教学周第七周前教师应当指导学生进行分组;同时应公布参考选题,指导学生选题,并对学生进行社会调查方法的辅导。 第十三周、十四周(2011年11月21日——12月4日)为学生集中调查时间,理论教学停课。第十五周学生须上交一份实践调查报告初稿,初稿字数、格式要求见附件二。 第十八周(2011年12月26日——2012年1月一日)为实践教学总结阶段,任课老师要指导学生进一步改进实践调查报告,同时评选优秀调查报告,理论教学停课。 学期结束前,学生须上交调查报告终稿,一式两份。 3、活动内容:本次实践教学主要围绕科学发展观视野下构建社会主义和谐

有关实践教学课程有关说明(最终版)

关于实践教学课程 “思想和中国特色社会主义理论体系概论(下)” 教学安排的有关说明 根据《中共中央宣传部教育部关于进一步加强和改进高等学校思想政治理论课的意见》(教科政[2005]5号)及《实施方案》(教社政[2005]9号)精神,我校自2006年开始在本科各专业人才培养方案中开设2学分(36学时)的实践教学课程“思想和中国特色社会主义理论体系概论(下)”(即原“思想、理论和‘三个代表重要思想’概论(下)”)。本课程主要由学生在读期间根据实践教学大纲结合大学生暑期社会实践调查完成。为进一步做好该门实践教学课程的相关教学管理工作,特作如下说明: 一.教学环节安排: 1.选题确定:每年5月中旬至暑假前,思想政治理论课教学部按照该课程教学大纲要求和当前国际国形势,确定当年实践教学参考选题、调查报告评分细则和评阅教师。校团委在每年暑期前下发的关于开展我校暑期社会实践的指导性文件中已将此项活动列入当年全校大学生暑期社会实践活动的一部分。学生本人可根据参考选题确定社会实践的容和方式,并积极取得所在院系党团组织的支持,按选题在所在院系团委指导下独立完成,若有疑难问题可与评阅教师联系。 2.实践组织:利用暑期,由所在院系党团组织负责,组织学生就近参观、学习,参与社会实践活动,允许跨院间的团队合作。 3.选课安排:思想政治理论课教学部,教学办公室于每学年第二学期第十一周前将评阅教师在教务系统中落实,以便学生选课。完成暑期社会实践的学生可于开学第一周(第三轮选课期间)登录教务系统选课,根据选题选定评阅教师,课程容量一般根据学生选课情况进行调整。 4.报告提交:各专业(班级)学习委员负责收集并核查实践报告,按评阅教师分类,于规定的时间一次性送交思想政治理论课教学部教学办公室,地点:磬苑校区社科楼B105,:3861302。实践报告提交时间为每年一次,截止时间为10月10日。逾期不再受理。 5.成绩评定:个人单独完成的调查报告字数须达3000字,合作调查报告的字数须在5000字以上(人数不超过8人),字数不达标判

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目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

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

《数据结构》教学设计方案

《数据结构》教学设计方案 1 课程的一般信息 1.1 教学对象 计算机科学与技术专业2012级本科学生 1.2 课程名称 《数据结构》 1.3 课程教材及分析 1.3.1 中文教材及分析 数据结构(C语言版),严蔚敏,北京:清华大学出版社(国家精品课程配套教材),2011.11。 该教材为国内关于数据结构最知名的教材之一,受到国内计算机教育界广泛的认可。 1.3.2 教材选取的背景 选取本教材的原因主要是受到本人对于该课程的教学改革驱动,在该课程教学中强调实践性,注重理论联系实际。 1.4 课程类型 专业必修课(开设时间为计算机科学学院各专业本科生二年级第一学期) 1.5 教师的基本信息 肖冰,1981年生,博士,讲师,计算机科学学院。主要研究方向为模式识别、机器学习、智能信息处理等。博士毕业后从事一线教学和科研工作,主讲了《计算机基础》、《ACCESS 数据库应用技术》,《数据结构》、《数据库原理与设计》及相关课程设计等课程。在Pattern Recognition(SCI二区)、Neurocomputing(SCI三区)、Signal Processing(SCI三区)、电子学报(中、英文版)等国际、国内权威期刊和会议上发表论文15篇,其中SCI检索6篇,EI检索9篇,在重要期刊上发表教学论文一篇。主持国家博士后科学基金、陕西省博士后科学基金、陕西师范大学中央高校基本科研业务费、西安电子科技大学优秀博士学位论文资助基金、陕西师范大学青年基金各一项,以第三完成人参与国家自然科学基金、博士点基金等多项科研项目。授权专利三项,获得陕西省科学技术奖一等奖(第三完成人)一项,陕西省自然科学优秀学术论文二等奖(第一完成人)一项。 2 该单元的教学目标 2.1 单元内容概要 第9章查找 第3节哈希表

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 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;

《数据结构》课程教学改革

价值工程 0引言 《数据结构》是计算机程序设计的重要理论技术基础,是计算机科学与技术专业和软件工程专业的核心课程,在整个课程体系中处于承上启下的地位,它的理论性和实践性都很强,是从事计算机软件开发的基础,主要研究数据在计算机中的表示和组织,进而研究 对数据的处理方式。因此, 这门课程要求学生要学会分析计算机中各种数据结构的特性,并且初步掌握算法的时间分析和空间分析技术,以便遇到实际应用问题时会选择适当的逻辑结构、存储结构及相应的算法。本课程在教给学生数据结构设计和计算机求解问题(算法设计)的同时,注重培养学生的抽象思维能力和逻辑推理能力,提高分析问题和解决问题的能力。 《数据结构》课程相对于其他应用性课程来说,比较抽象、枯燥,学生学习有一定的难度,教师讲课也比较难讲。如何降低理论性程度,增强直观性,提高学生的学习兴趣,对于教师来说,是一个十分 重要的的问题。 传统的教学方法过分偏重讲授,学生通过学习,虽然能够掌握各种数据结构的一些基本知识,会做题,能通过卷面考试,但缺乏自己的思考,对数据结构课程的意义并不理解,在实践过程中便无法灵活应用。 本文根据目前教学中存在的问题,经过实践研究,对课程教学方法的改进做一探讨,提出一些改革思路。 1改革理论教学方法《数据结构》课程教学难点在于教学内容的抽象性和动态性,讲解时采用启发式、案例驱动式教学、互动式、体验式等多种形式相结合的教学手段,并结合图形化的算法演示系统,将算法的的执行过程动态的呈现在学生面前,这样不仅能激发学生的学习兴趣,而且能帮助学生理解知识,同时也能发挥学习的主动性,激发学生积极的思考,促进创新思维的形成。 1.1提高学生的学习兴趣俗话说: “良好的开端,是成功的一半。” 因此,数据结构课程的第一堂课,应从学生身边的一些有趣的实例入手,激发学生们的学习兴趣,引导学生从宏观上了解数据结构的知识在日常生活中的应用,并大致掌握各种数据结构的意义,理解课程的安排,找到教师的讲授和自己的学习线索。比如,打印机的速度比CPU 慢,那么,怎么解决可能出现的数据丢失或者打印次序混乱的问题,用“队列”这个数据结构就可以解决这样的问题;图书馆的书目检索系统涉及到线性表等。这些都是学生所熟悉的、贴近生活的问题,因此可以激发学生探索问题的解决方法,渴望掌握相应的数据结构知识。这样便形成了一个良好的开端,带着强烈兴趣和愿望去学好这门课程。 1.2采用启发式教学算法的分析需要注意突出重点,分散难点,并在适当的时候设置一些问题,引导学生自己去积极思考,寻找解决途径。当然,由于教学任务重,不少教师认为如果在课堂上给学生太多时间,可能无法完成教学任务。这就需要在给学生更多的思 考机会的同时,权衡教学内容的取舍,不求广,但求精。只要学生掌 握了分析问题的方法,便可以解决课堂上即使没有覆盖的问题,引导学生掌握方法一定比在课堂上罗列问题解决问题效果更好。 根据以往的教学实践,发现大多数同学能掌握数据结构本身的理论知识,老师上课讲的和书本上的算法能读懂,但是要让设计一 个算法,就感到无从下手。 这个问题的原因是来自各方面的,其中可能包括学生的程序设计语言学得不够扎实,但更重要的是教师讲得太多,而留给学生思考和练习的时间太少。 教师在教学过程中可以先提出问题,把所讲解的内容与学生的思考有机地结合起来,激发调动学生的积极性和主动性,培养学生 独立思考能力和创新意识。 对每个知识点的讲授,采用提出问题、分析问题、引导学生自己去思考如何解决问题的方法进行讲解。例如:图的最短路径问题,可以让学生思考,如果要自己去组建校园网,怎样能使总的代价最小?或你想去几个城市旅游,怎样才能使得你的花费最小?通过这种启发式教学可以让学生思维高速运转,激发学生浓烈的探求欲望,使学生积极主动的思考,把好的学习方法、思维方式自然而然地在课堂上传递给学生。 1.3案例驱动式教学所谓 “案例教学”,就是针对课程中的重点、难点知识,选用适当的例题、运用恰当的比喻进行讲解,把抽象的内容具体化、形象化,帮助学生理解和掌握,并适当加以引伸,引导学生作进一步的思考和探索。 例如在讲解堆栈和队列的时候,学生对这两个概念比较陌生,于是我们通过一些日常生活中的例子进行比喻说明,学生不仅听起来较有兴趣,易于理解,而且效果也远比只单纯地讲概念要强得多。比如:排队买车票,每个学生都经历过,可以通过这个例子引入队列的概念。刚来到要排在队列的最后(入队列操作),买过票离开的一定是排在队列最前面的人(出队列操作),说明了队列是一种“先进 先出线性表” 的特殊线性表。1.4课堂讨论式教学选取一些比较简单的案例作为课堂讨论,融汇贯通前后的知识点。比如学生在前面已经学习了线性表的基本概念、存储方式、操作集等内容,这时就可以列举一些问题让学生分组讨论,如:①线性表的存储方式有顺序存储和链式存储,队列也是一种线性表,那么队列是否也可以这样存储呢?②队列应该有哪些操作?③使用链式存储和使用顺序存储的优缺点是什么,具体应如何选择?教师再适当地加以讲评,并给出一个或多个参考答案。或者让学生自己上网或去图书馆查阅资料,等到下次上课时检查结果并给出参考答案,从而激发学生的探究性学习兴趣。在教学中还要鼓励学生敢于质疑,并敢于向大家质疑,对一些有争议的算法让学生自己上机编程、调试来验证自己的想法。 2加强实践教学 数据结构课程是一门实践性很强的课程,在以往的实践教学中,实验大都由教师按教材统一组织进行,先理论后实践,实践只是对理论知识的简单验证,很多学生只要能调试出结果便完成了任务, 教师只关心学生是否来做实验,而很少关注学生实验的效果。导致学生对实验逐渐失去兴趣。—————————————————————— —作者简介:杨晓明(1980-),女,陕西渭南人,讲师,研究方向为软件工程;孙亚红(1977- ),女,陕西韩城人,助教,研究方向为软件工程。《数据结构》课程教学改革初探 Teaching Reform of Data Structure Course 杨晓明Yang Xiaoming ;孙亚红Sun Yahong (西安翻译学院工程技术学院,西安710105) (College of Engineering and Technology ,Xi ′an FanYi University ,Xi ′an 710105,China )摘要:《数据结构》是计算机专业的专业基础课程,是一门理论性和实践性都很强的课程。如何将理论同实践相结合是一个值得探讨的问题。 本文探讨了该课程的改革思路,重点在于培养学生创新思维能力和解决问题的能力,该改革思路在我们的教学实践中得到了贯彻,并取得了良 好的效果。 Abstract:Data Structure is a very strong theoretical and practical basis course of computer major.How to combine theory with practice is a question which is worth exploring.This paper discusses the innovation thought of the course.The focus is to develop students ′creative thinking and problem-solving skills.The reform in our teaching practice has been implemented,and get a good result. 关键词:数据结构;改革思路;创新能力Key words:Data Structure ;reform thought ;creative ability 中图分类号:G642 文献标识码:A 文章编号:1006-4311(2012)05-0226-02 ·226·

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能: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)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

数据结构课程设计:地铁

数据结构课程设计:地铁建设问题

软件学院 课程设计报告书 课程名称数据结构 设计题目地铁建设问题 专业班级 学号 姓名 指导教师

2014 年1月17日

目录 1 设计时间 0 2 设计目的 0 3设计任务 0 4 设计内容 0 4.1总体设计 0 4.2需求分析 (1) 4.3详细设计 (1) 4.4测试与分析 (3) 4.4.1测试 (3) 4.4.2分析 (4) 4.5 附录 (4) 5 总结与展望 (8) 参考文献 (9) 成绩评定 (11)

1 设计时间 2014年1月15日 2 设计目的 设计各辖区之间最短地铁,使修建费用最少 3设计任务 某城市要在各个辖区之间修建地铁,由于地铁建设费用昂贵,因此需要合理安排地铁建设线路,使市民可以沿地铁到达各个辖区,并使总费用最小。 4 设计内容 (1)输入各个辖区名称和各辖区间直接距离(地铁铺设费用与距离成正比)。 (2)根据辖区距离信息,计算出应该在哪些辖区建立地铁线路。 (3)输出应该建设的地铁线路及所需建设总里程。 4.1总体设计

图4-1算法图 4.2需求分析 (1)本程序设计计算城市内各辖区间修建地铁的最短路程。 (2)运行时,输入辖区的名称,各辖区之间用空格键隔开,以#输入结束。 (3)输入各辖区间距离时,先输入两辖区名称,再输入距离。 (4)最后计算最短距离来得出最少费用。 4.3详细设计 采用邻接矩阵存储构造无向图 int creatgraph(Graph *g) { int i=0,j,m,k,p; char a[10],b[10]; printf("请输入所有的辖区,以#为输入结束标志\n"); scanf("%s",g->V[i]); while(strcmp("#",g->V[i])!=0) { i++; scanf("%s",g->V[i]); } g->vexnum=i;

相关主题
文本预览
相关文档 最新文档