胡学纲数据结构c语言PDF,树和二叉树转换的实现--数据结构课程设计.doc

河南工程学院《数据结构与算法》课程设计

成果报告

树和二叉树转换的实现

学生学号:

学生姓名:

学 院: 计算机学院

专业班级: 软件工程 1341

专业课程: 《数据结构与算法》

指导教师:

2014 年 12 月 29 日

题 目

树与二叉树转化的实现

考核项目

考核内容

得分

平时考核

(30分)出勤情况、态度、效率;知识掌握情况、基本操作技能、知识应用能力、获取知识能力

系统设计

(20分)分析系统的功能模块

编程调试

(20分)实现系统的各个功能模块,并完成调试

回答问题

(15分)回答老师针对课程设计提出的问题

课程设计报告撰写

(10分)严格按照规范要求完成课程设计报告

源代码

(5分)按照规范要求完成课程设计源代码的排版

总 评 成 绩

指导教师评语:

日期: 年 月 日

目 录

TOC \o "1-3" \h \z \u 1 课程设计目标与任务 1

1.1课程设计目标 1

1.2 课程设计任务 1

2 分析与设计 2

2.1 题目算法分析 2

2.2 存储结构设计3

2.3 算法描述3

2.4 程序流程图4

2.5 算法实现说明8

3 程序清单12

4 测试13

4.1 测试数据13

4.2 测试结果分析13

5 总结14

参考文献15

PAGE 24

1 课程设计目标与任务

1.1 课程设计目标

通过本课程设计,使学生在数据结构的选择和应用、算法的设计与实现方面得到训练,加深对数据结构基本内容的理解和灵活应用,同时,在程序设计方法及上机操作方面受到比较系统严格的训练,培养软件工作所需要的动手能力。数据结构课程设计是在学完数据结构课程之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析,总体结构设计用户界面设计,程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力培养科学的软件工作方法学生通过数据结构课程设计各方面得到锻炼:

(1)能根据实际问题的具体情况结合数据结构课程中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法;

(2)通过上机实习,验证自己设计的算法的正确性,学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改;

(3)培养算法分析能力,分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平;

(4)尽可能借助语言环境实现图形显示功能,以便将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来,获得算法的直观感受。

1.2 课程设计任务

利用本学期所学的数据结构的有关知识,实现树与二叉树相互转换,设计树与二叉树转换的相关函数库,以便在程序设计中调用,要求:

(1)实现树与二叉树的转换;

(2)最好能借助语言环境实现图形显示功能,以便将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来;

(3)给出若干例程,演示通过调用自己所缩写程序来实现相关问题的求解。

该课程设计通过实现树与二叉树的转换,理解树与二叉树的相互转化关系,掌握树与二叉树的存储结构的异同,加深对二叉树和树的理解。 2 分析与设计

2.1 题目算法分析

该课程设计需要实现树与二叉树的相互转换,明白二者的转换关系,二叉树的根即为树的根,二叉树的左子树为树的左子树,从根开始一直向右,遇到的右子树均依次作为树的子树。

将树转换为二叉树,关键是把n个分支变为两个分支,步骤如下:

(1)保留所有结点与其左子结点的链接;

(2)打断所有结点原本与右结点的链接;

(3)连结所有兄弟结点(拥有同一个父结点的子结点);

(4)将兄弟结点顺时钟转45°,树中右侧兄弟变为二叉树中该结点右子树。

将二叉树转换为树,步骤如下:

(1)二叉树的根即为树的根;

(2)打断所有结点与其右子树的链接;

(3)二叉树的左子树为树的左子树,从根开始一直向右,遇到的右子树均依次作为树的子树(二叉树中结点的右子树中变为该结点右侧的兄弟)。

2.2 存储结构设计

分析树和二叉树的存储结构,二叉树的存储结构如图2.1。

图2.1二叉树的存储结构图

树是一种非线性的数据结构,树中的元素之间是一对多的层次关系。常用的有三种存储结构,即双亲表示法、孩子表示法、和孩子兄弟表示法。

事实上,一棵树采用孩子兄弟表示法所建立的存储结构与它所对应的二叉树的二叉链表存储结构是完全相同的,只是两个指针域的名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浅谈《计算机组装与维护》实训课程教学与实践应用 摘要:《计算机组装与维修》实训课程有很强的实践性,对学生的应用能力要求较高。 为了培养能够更好地适应社会发展需要的人才,我校开设了些课程。现针对《计算机组装 与维修》实训课程中的特点及教学目标,分析计算机发展趋势,对教学过程中本课程的教 学内容方法和考核方法的认识浅谈如下。 关键词:计算机组装;维修;实训课程 中图分类号:g434 文献标识码:a 文章编号:1007-9599 (2012) 18-0000-02 通过联系实际情况,寻求《计算机组装与维修》实训课程更有效的教学方法,对培养学生 实践中能力具有非常重要的实际意义。 1 教学内容探索 根据教学实践和教学过程中的实际情况,并针对《计算机组装与维修》这门课程的特点, 在教学过程中对教学内容进行了精心的安排,主要有以下几部分: 1.1 计算机部件。计算机的基础组件:cpu、内存、主板、显卡等。要求学生们了解它们的基 本性能、指标,及安装位置。 1.2 机器组装。计算机整机的组装、拆卸过程并不复杂,但是却需要足够的细心与耐心。其 中组装部分包括主板、cpu、内存、插卡、电源的正确安装等。无论是cpu还是内存等都 是有比较高的技术含量组件,如果处理不得当,可能会导致大量数据的丢失,甚至损坏 部件。所以在组装过程中必须要细心。 1.3 计算机系统管理与优化。掌握bios的设置方法、cmos 参数设置、硬盘的分区及格式化 。计算机系统的优化很实用,能够提高计算机的运行速度。 1.4 操作系统、驱动程序及常用软件的安装与维护。首先应先安装操作系统,其次安装各板 卡的驱动程序及所需的各种常用软件,最后一个环节是对系统进行维护。 2 教学方法的探索 《计算机组装与维修》属于计算机信息类教育学科,主要锻炼和培养学生理论与实践巧妙 结合的能力,此科目的知识深化和提高,需要学生在熟悉了解理论知识的基础上,亲自 动手操作和实践,在实际运用的过程中寻找计算机内外结构所具有的功能。施教期间, 适当根据不同课程模块的讲解特点运用适当的教学方法。 2.1 利用多媒体课件演示与实物展示相结合的教学方法。多媒体具有清晰明了、形象生动、 富有真实感的优点。多媒体辅助教学以演示的教学方式呈现,首先,可以有效的带动学 生的学习兴趣和激情,集中学生学习注意力、增加学生思考问题的积极性。其次,多媒 体辅助教学课件的课堂演示,有助于加深同学们对于新知识新模块的理解和记忆,在短 时间内,取得最佳的教学效果。 起初,学生刚刚接触计算机科目,显然对于内部结构 的构造和关联毫无了解。所以,授课老师在教授该环节内容时,充分运用多媒体辅助教 学课件,一一将计算机的内部构造和对应的功能操作步骤进行现场演示并与学生进行互 动,在多媒体课件演示的过程中学生们先有初步理解性的了解,在看到实物后加深印象 ,这样很大程度上调动了学生们学习的主动性。 2.2 以学生为主、教师为辅的实践型教学方法。在理论性的教学过程中,对于计算机的硬件 结构组装,学生有了比较清楚的认识和了解,在机器装拆的实验中,要以学生实际操作 为主,教师只须在实验前讲解实验过程中的注意事项。 2.3 制造故障-查找故障- 排除故障的实训性教学方法。计算机维护的主要目的是掌握对其故障的排除方法。在对 计算机进行维修和检测实践中,教师首先对计算机故障进行归类。运用的检测方法进行 划分,全面熟悉和深知计算机检测的步骤和要点。然后,组织学生加入检测和组装环节 中,对计算机从外到内进行操作,对存在故障的机器进行故障分类并进行排除,没有故 障的机器让学生们制造故障,再进行分析排除。如此一来不仅既培养了学生们的兴趣, 也提高了他们的实际操作能力。 2.4 结合实际进行市场调研的教学方法。因为外界条件和时间的原因,学生无法亲临到市场 进行现场学习和实践操作,但是可以利用互联网资源,让学生在网上收集相应的计算机 内部部件和对应部件所具有的性能,根据自己的实际需要制定合理的组装方案,使学生 体会到自己组装计算机的乐趣。 3 实践与应用的结合 再好的理论也要与实际相结合,只懂理论而不会运用到实际生活中,无异于纸上谈兵。 对于计算机专业的学生来说,对实践技能最好的应用就是从自己的机器入手,对机器进 行简单的检修和维护,这样不仅是对理论知识进行了巩固还增强了学生们动手的能力。 3.1 硬件维护的要求和目的。不同机器的硬件对运行环境的要求也不同,型号配置越高的机 器硬件环境的要求相对来说较高,为保证机器的正常运行,需要对硬件的运行环境进行 良好的维护,在维护过程过程中主要注意以下几点: (1)对于电源的散热风扇要进行定期的检查,看看其能否正常的运转,尤其是防止灰尘 的侵入,对散热扇要及时的进行清理,防止由灰尘引起的电源风扇停止转动而影响电源 部件的散热功能
【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第1页。【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第1页。《Java课程设计教学大纲 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第1页。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第1页。 JAVA COURSE DESIGN 一、课程性质和教学目的 课程性质:《Java课程设计》这门课程是软件工程专业的重要的专业实践课。这门课程的先行课程是计算机文化基础、计算机网络、软件工程、计算机组成原理、Java语言程序设计等。本门课程结合《JAVA语言程序设计》的理论知识,通过实践环节可以巩固所学的理论知识、提高程序设计能力。通过程序设计的训练,使学生能够综合应用JAVA基础知识和基础方法,编写出高效率的应用程序,体会软件设计全过程,提高软件设计能力,为今后进行系统软件和应用软件的开发研究打下坚实的基础,培养刻苦专研和严谨的编程精神,为今后从事项目开发和撰写毕业论文积累经验。 教学目的:通过本课程的教学应当使学生巩固和加深学生对Java语言课程的基本知识的理解和掌握,掌握Java语言编程和程序调试的基本技能。本课程要求学生使用JAVA语言来独立完成软件的设计与开发。训练学生做出一个中、小型的项目,培养学生利用Java语言进行软件设计的基本思路和方法,提高运用Java语言解决实际问题的能力,提高编程技术,为今后从事项目开发和撰写毕业论文积累经验。使他们逐步成为既有一定的理论知识又有一定的动手实践能力的软件技术人才。 二、课程教学内容 Java课程设计总学时是40学时,合理穿插安排在Java程序课程之中,一般是从期中后在老师指导下,学生逐步结合所学内容,阶梯式完成课程设计,不仅有针对性,也非常能够互相促进,使得二者有结合。 1.准备及理论学习:查找相关资料、书籍,阅读示例文档,以及最新录制的课程设计数据库知识的 教学软件,确定自己的课设题目。 2.设计:要求并指导学生设计程序结构、模块图、完成类的设计、添加相应的应用功能。 3.编码:由学生独立完成程序的编码,并且自己调试、测试、查看运行效果。 4.完成文档:填写Java语言课程设计报告单。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第2页。【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第2页。5.验收:由教师检查软件运行效果、项目文档。。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第2页。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第2页。 三、课程教学的基本要求 可以根据数据库理论知识经教师同意自定一个题目。 完成系统分析与系统设计—--设计合理的数据结构和系统框架,完成设计的结构图。 软件要打包发布,软件的代码要规范、有详细的注释,能正确运行,上交所有代码的电子版。 学生填写Java语言课程设计报告单,每人一份。 以班级为单位上交电子版文档。每个同学的文件夹名字为"班级_学号_姓名",文件夹中应该包括可执行文件、全部源文件及对应的class文件、辅助文件。 四、实践地点、时间、学时分配 教学内容 学时 地点 备注 学习derby数据库环境配置与基础知识 4 机房 Derby数据库操作——查询 4 机房 Derby数据库应用举例 8 机房 Derby数据库应用举例——管理系统 4 机房 编写程序,进行调试 12 机房 课程设计软件检查 4 教室、机房 填写课程设计报告单 整理电子版资料 4 教室、机房 五、成绩考核 由指导教师根据学生在设计中的平时表现、任务的完成情况、填写课程设计报告单、课程设计报告(电子版)的质量等综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。 考核过程中鼓励学生大胆创新,对新创意、新方法、新思路适当给奖励分数,总分不超过100分。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第3页。【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第3页。未到达题目的基本、软件不能运行、软件雷同者不及格。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第3页。 【Java语言程序设计教程】Java课程设计-教学大纲全文共3页,当前为第3页。 评分标准如下表所示: 1 工作态度与遵守纪律的情况 (10分) 2 掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平 (10分) 3 独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度 (20分) 4 完成说明书及软件的情况与水平(工作量及实际运
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值