数据结构课程设计安排

2024-10-11

数据结构课程设计安排(共9篇)

数据结构课程设计安排 篇1

《数据库高级应用》课程课外实践安排

(2014-2015学年第二学期)

时间:课外时间

地点: 和义楼412 课外实践班级:2012级计算机科学本科班 课外实践学时:32学时 课外实践目的:

1、应用《数据库高级应用》课程中所学的基本知识,在某个RDBMS(以SQL Server为主)软件基础上,利用合适的应用系统开发工具(首选Visual Studio开发工具中的Visual C#)为某个部门或单位开发一个数据库应用系统。

2、通过实践,掌握Windows数据库项目开发的方法。

3、学会使用Visual Studio(C#)开发基于数据库(SQL Server为主)的Windows窗体应用程序。

4、培养团队合作精神,要求3-6位同学组成一个开发小组,每位同学担任不同角色(例如:项目管理员、DBA、系统分析员、系统设计员、系统开发员、系统测试员等)。

课外实践要求:

1、课外实践以组为单位开展,每组3~6名同学,自由组合,确定组长一名。

2、每组从附件1列出的题目中任意选择其中一个完成(鼓励大家选择对你自己而言有一定挑战性的题目),每个题目最多由2组同学选做。强调独立思考,组内分工明确,每组自己完成。

3、写出收获和体会,包括已解决问题和尚未解决的问题,进一步完善的设想与建议;

4、完成你所选的课外实践题目后,就该题目给出设计报告(设计报告格式另给),并按时上交。

5、每组同学须仔细阅读所选题目的要求,认真主动完成设计要求。有问题及时主动通过各种方式与教师联系沟通。同学们要发挥自主学习的能力,充分利用课外时间,安排好课外实践的时间,并在设计过程中不断检测自己的计划完成情况,及时的向教师汇报。课外实践按照教学要求需要思考和上机调试程序至少32学时。

6、每个小组进行10-20分钟的报告和答辩,讲解设计方案,演示系统运行,汇报分工与合作情况。课外实践的考核需要按组进行答辩,第16周各组上交课外实践的设计报告、程序源代码、可执行程序等,17周进行答辩。

附件:《数据库原理及应用》课外实践可选题目

1、SITP项目管理系统 【问题描述】

大学生创新实践训练计划(Student Innovation Training Program,简称SITP),是建立创新人才培养体系、进一步开展教育教学改革、加强大学生创新能力培养的重要举措。使本科生尽早接受科研训练、尽早熟悉企业、了解社会实际,掌握基本的科学研究方法和手段,培养大学生严谨的科学态度、创新意识和团队合作精神,提高大学生的研究创新能力和综合实践能力。

SITP项目主要源于科研、教学、生产、工程、设计和管理等方面的项目,并将这些项目细化、分解为子项目,课题执行的各个环节要充分体现对学生创新和实践能力的培养。

SITP项目的实施无疑是广大在校大学生的福音。大学生有了自主创新的平台,有了可以展现自己能力的地方。但是,面对这些摩拳擦掌的大学生们,SITP项目的申报、管理、以及评估将是一项繁重的工作。为此,开发一套完整的SITP项目管理系统具有一定的现实意义。

【任务要求】

所开发的系统是基于SQL Server数据库的Windows窗体应用程序,能针对SITP开展的完整过程,实现了申请立项、项目审批、报名参与、项目人事管理、论文提交、设备借用等一系列功能,能完成对各种数据的简单检索,而且针对数据安全的需要进行了简单的控制。极大地方便了SITP项目的管理,具有一定的现实意义。

2、DIY兼容机装机平台

【问题描述】

专为自主进行兼容机组装购买的消费者提供的一个模拟装机平台。【任务要求】

通过此平台,商家能及时地把电脑配件的各种动态的、详细的产品信息提供给消 费者,也可以通过推荐方案功能向消费者进行推荐,而消费者自身也可以通过平台,全面的比较各个产品,组合出最符合自己需求的兼容机。

3、安阳师院跳蚤市场应用平台 【问题描述】

在大学里,学生间二手教科书、参考书籍、考试资料、考研资料、生活用品,电子产品„一系列的交易活动是普遍存在的。然而,目前的市场上并没有一个供在校学生交易的软件平台。当学生有买卖的需要时,只能通过论坛上发帖或在校园里摆摊的 形式来实现。由于这样的渠道往往缺乏对商品信息的统一管理,或并未提供买卖双方沟通的渠道,使得其中大部分的交易愿望都难以实现。

【任务要求】

系统基于SQL Server数据库的技术实现。系统功能实现要求按使用者的不同,购物系统的任务可分为完成普通用户 交易的任务、完成财务人员的财务管理的任务以及完成 数据库管 理人员管理数据库的任务三部分。

4、河南旅游景点查询系统 【问题描述】

近年来,随着市场经济的进一步发展,河南省内的旅游前景市场也被看好。为此,开发了一“河南旅游信息查询系统”很有现实意义。实现合理可行、丰富高效且人性化程度高的查询系统,以便提供更丰富、更全面的旅游信息给游客。【任务要求】

要求从管理员、游客、注册用户三个不同身份进行系统管理。游客只具有查询旅游信息的权限,注册用户能够对旅游信息进行评价,并能享受系统提供的合理旅游信息服务,管理员主要功能在于注册用户信息管理和旅游信息管理。

5、安阳师院学生选修课程管理平台

【问题描述】

该系统根据安阳师院学生的选修课特点,实现较为合理的选课管理平台。

【任务要求】

所开发的系统是采用基于SQL Server数据库的Windows窗体应用程序,能针对选课学生的专业特点,并进行适当的系统管理介入,最终能实现科学合理的选课管理平台。

6、课程作业提交及管理系统

【问题描述】

由于缺少一个完整的作业提交及管理系统,导致了学生提交作业时的种种差错,也给教师批改作业造成了相当的麻烦。基于此,实现一作业提交管理系统很有实际价值。

【任务要求】

所开发的系统是基于SQL Server数据库的Windows窗体应用程序,该项目是数据库作业提交及管理系统,其主要功能是学生进行个人信息查询以及老师进行作业管理。

7、基于《易林》的占卜预测模拟平台

【问题描述】

该系统首先将《焦氏易林》文档信息整合为数据库,然后编码实现模拟预测过程,以其达到简易占卜预测的功能。【任务要求】

所开发的系统是基于SQL Server数据库的Windows窗体应用程序,能针对《焦氏易林》在数字化的基础上开展的较为完整模拟应用过程。

8、“汉字英雄”游戏平台

【问题描述】

该系统选取一定数量的汉字,以使用者模拟汉字书写的笔画顺序、时间和正确率等参数为游戏晋级评判标准,试图为汉字使用的传播推广服务。【任务要求】

所开发的系统是基于SQL Server数据库的Windows窗体应用程序,能针对汉字表达和汉字评判等技术难点有一定的创新,并能完成简单的游戏寓教于乐目的。

9、基于可拓学的高校教师教学质量评价系统 【问题描述】

利用可拓学理论和方法建立的高校教师教学质量评价物元模型,能在事先没有人为设计指标权重的基础上,通过关联函数和关联度,反应评价单元的归属程度以及评价等级值,较好地解决指标权重与主观片面性问题,为高校教师教学质量评价提供一种新的思路。【任务要求】

要求能够理解并学习可拓学理论,拥有很好的数据库技术和windows系统项目开发知识。

10、数据库实验课程测试平台

【问题描述】

针对数据库课程特点,设计实验课程的在线测试内容,并能将实验课程内容和学生实验能力水平结合起来,通过最后的测试评判结果,提高学生实验课程的教学效果。【任务要求】

拥有很好的数据库技术和网页编程能力或windows系统项目开发知识。

11、基于知网的甲骨文语义知识库系统

【问题描述】

利用知网的构建体系,结合甲骨文特点,实现甲骨文知网信息的存储和编辑,并能为甲骨文领域的语义检索和卜辞释义提供语义知识帮助。【任务要求】

要求能够理解并学习hownet理论,拥有很好的数据库技术和windows系统项目开发知识。

数据结构课程设计安排 篇2

基础教育的好坏关乎教学质量的好坏, 也是关系到学生的能力的好坏, 在这里的基础教学, 就是基础知识的教学, 对某个专业来说就是专业知识的教学。比如建筑装饰专业的基础课程有:室内设计与装饰构造、家具设计、室内设计表现图、建筑装饰预算、建筑装饰施工、建筑装饰材料, 建筑专业的基础课程是:房屋建筑学、建筑预算、建筑施工技术、建筑材料、建筑基础等等, 这些分量比较重的课程在建筑装饰专业和建筑专业中都是非常重要的, 因此来设置这种课程时它的课时的数量都应该占有主要的地位, 在比例分配上也应该是比较大的, 例如室内设计与表现图, 建筑施工技术、建筑装饰材料应同时开课, 并且学习的时间为一年、每周的课时也应为6课时, 建筑装饰预算、室内设计与装饰构造、建筑装饰施工开课时间处在它们之后, 所占的课时数比例也要稍大, 所以应该体现出这种基础课程专业教学的重要性和它们的地位。第二就是这些基础课程的基础课的必要安排, 不要盲目删除, 在建筑装饰专业中的专业科目学习之前必须来学习基础课程知识, 绘画、平面造型基础、建筑初步、计算机都是必不可少的基础, 这些课程是为以后的专业课程学习打好基础的。现在有些技工学校的专业的学制较乱, 为盲目的竞争生源把学制由三年改为两年, 这一定会给学生的正常教育带来很大的压力, 因此往往采用盲目缩短基础知识课程的教学, 这给学生在接受专业知识的时候, 造成一种突兀, 前后没有衔接的感觉, 理解能力相对较差, 这无疑就给本来基础就差的中专学生导致了负面的影响。因此正确设置专业课程, 合理安排课程结构对中专教育意义重大。

二、掌握好基础教学的课上环节, 引导学生深入学好基础课程

这是学生对理论知识精的过程, 也是他们提高自己能力和素质的一个关键过程。也是重视基础课程的方法和手段。把握基础课的课上环节就要做到精心教学, 并采取一定的教学方法和策略。第一、采用多种思维方式思考问题, 用一种引导型的教学方法, 提高学习兴趣。同样一个问题用多向思维形式, 采用多种教学方法。在建筑装饰专业中的室内设计与装饰构造一门课中, 关于如何把设计的思路讲明讲透, 是学生学习能力提高的关键, 我们一方面采用多媒体教学这种多媒体教学模式, 做一些课件这种让学生轻松易懂的教学模式, 通过对好的室内设计作品的直观展示, 来提高学习兴趣。第二、用引导型的教学方法, 让学生的学习思路能够朝向提升学生审美情趣的方面发展, 并引导学生提高其他的课程的学习兴趣, 用正确的学习策略多向思维。

三、走出多媒体教学是提高专业教学的唯一手段的误区

首先要明确多媒体教学是一种提高学生学习兴趣的一种手段, 并不是唯一手段;计算机也算是基础教学, 但不是主要课程。认为课件制作的好坏也能影响到学生的能力和上课的效果。往往制作课件的人员并不全是专业的人员, 课件制作的水平也与制作人员的计算机水平、专业能力有很大的关系。不是专业的可能做出来的东西就是课本的简单罗列。这就浪费了学生的学习时间, 当然这不能排除好的课件。所以我们不能把希望都寄托在课件教学上和计算机教学上, 应多采用其他的方法来提高学生的学习兴趣和能力, 比如安排实习时间、多去实习场地、多进行实习实际操作、多参加培训、多熟悉材料, 这都能够帮助学生的本身的实践能力。

四、理安排辅助课程的课时量, 为基础课程创造学习空间

在中职教育学校中为能提高学习兴趣, 就盲目的删减基础教学的课程, 专业课程的课时量, 这样的结果使老师教的东西少了, 学生学起来也非常的吃力, 因此学生对上课豪无兴趣, 上课气氛不活跃, 睡觉, 打闹。并且学校为了提高学习兴趣又增加计算机课程的课时量, 用多媒体教学的课件形式来吸引学生的兴趣, 因此冗长的课时、课件学习就变成了一种形式, 一种机器, 就走入了一种误区。专业基础课程虽然是比较乏味的, 但也应该合理安排课时量, 即科学的安排课时量, 除了采用教科书当中的课时分配之外, 还应根据教师教学的实际情况适当调整一下, 对重要的、应该掌握的知识、内容就适当延长, 合理分配, 按照实施性教学计划来教学。计算机课程并不是不重要, 但是对于学习时间很短, 课时很短的情形下, 应该重视专业课程教学, 适当安排课余时间进行计算机培训等手段, 在加上课上的学习应充分够用, 这也能体现计算机的辅助功用。

调整课程结构, 改善课程的合理性, 是中职技工学校的一项非常重要的任务, 这也关系到学生的能力素质的提高程度, 所以我们要加大专业教学及专业基础课的学习力度, 作好辅助计算机、多媒体教学的课程模式, 才能充分显示中职技工学校的作用。

参考文献

《数据库开发》课程的设计 篇3

关键词:企业调研 课程标准 方案设计

0 引言

《数据库开发》是计算机专业的一门核心课程,通过本课程的学习,学生将能够进行初步的需求分析,根据分析结果设计数据库的概念结构模型和逻辑结构模型,并能够根据物理结构模型进行数据库实施和简单数据库应用系统的开发。本课程实践性非常强,注重培养学生的动手能力。所以,设计课程过程中,应该更加注重课程本身的实用性,更加注重课程内容本身与企业岗位的相结合。

《数据库开发》课程设计主要经历了企业调研、课程标准开发、课程方案设计等几个阶段。下面就分别说明一下课程设计的每个阶段。

1 《数据库开发》课程企业调研

进行企业调研是课程建设要进行的第一步,只有进行了充分的企业调研才能培养出满足社会和企业需求的合格人才。才能根据需求进行课程的设计,这样才能使学校的课程更加适合企业,更加适合社会。为此,我们的项目团队到企业进行了实地调研,我们获取到了企业对于学生的需求和对于课程设置方面的建议。

本门课程在进行企业调研之前已经根据之前的教学经验设置了本门课程的任务,具体任务设置如下:

任务1 数据库分析与设计

任务2 系统前台页面设计

任务3 数据库实现

任务4 系统后台实现

任务5 数据库维护

通过与企业专家进行研讨,最终获取来自企业关于《数据库开发》课程设计的建议。具体建议如下:

任务1 教学要求及建议:

①数据库基本概念和知识简单带过,达到了解的程度即可。

②需求分析难度较高,不建议让学生进行整个系统的需求分析,可以编写需求规格说明书的部分内容。

③进行数据库概念结构设计时,可以先画出系统的各个部分的E_R图,最后在将整个系统的E_R图画出来。

④可以使用PowerDesigner软件进行数据库的概念结构设计和物理结构设计。

⑤这部分内容比较难,需要多练习,可以适当多加一些课时。

任务2 教学要求及建议:

①本部分内容是对于之前所学网页设计和JSP的内容进行熟悉,可以以学生做为主。

②进行分小组教学,小组内进行角色划分,充分发挥团队的力量。

③因为是之前的知识可以适当减少课时。

任务3教学要求及建议:

①对于数据库管理软件可以选择相对比较容易上手的,如SQL Server、MySQL等。

②数据库管理软件图形界面操作时,应该注意多做练习培养学生的动手能力,选择是实例可以由浅入深,逐步较大难度和工作量。

③应该重点讲解SQL语句,因为SQL语句的大部分语法都是可以在不同数据库通用的。

④实现所用项目的数据库时,也应该将尽量让学生自己进行SQL语言的编写,这样可以更好的使掌握SQL语句的应用。

任务4教学要求及建议:

①讲解Spring的基本原理和用法时,应通过简单的实例学习Spring的应用。

②学生应该进行分小组不同模块的开发练习,小组规模不要太大,3个人为一组比较适宜。

③不应占用太多课时。

任务5教学要求及建议:

①数据库维护的内容应该以视图和索引为主,进行重点讲解。

②数据库的用户和权限的应该多做实例。

③触发器的使用可以简单讲解。

课程总体建议:

①课程讲解内容较多,且内容难度较高,需要课时较多。

②应重点讲解任务一和任務三的内容,其次是任务四和任务五的内容。

③学生多做练习,注意培养他们的团队合作能力和沟通能力,注意锻炼学生的自学能力。

有了企业调研结果作为课程设计的依据,就可以进行课程标准的制定。

2 《数据库开发》课程标准的设计

课程标准是一门课程进行教学的根本依据,在课程标准中要包含课程的设计思路、能力目标和课程内容框架等内容。制定课程标准一定要详细描述课程各方面的内容,制定完整准确的课程标准是进行课程设计重要环节。

2.1 课程设计思路 本课程主要以企业实际项目为主线,通过五个典型的工作任务,使学生掌握数据库开发的相关知识和技能;学生在学习本课程过程中,主要学习的内容包括:数据库需求分析、数据库模型设计方法、使用数据库管理软件对数据库模型进行实施、使用数据库管理软件管理数据库,对已有的数据库开发数据库应用系统对数据进行增删改查的基本操作。将该课程的整个教学任务按照项目分为5个典型的工作任务,具体描述如下:

①数据库需求分析:对所选用的项目的需求使用需求分析方法进行分析,并编写需求规格说明书。

②数据库模型设计:根据上一个任务中编写的需求规格说明书,进行数据库的概念结构设计、逻辑结构设计和物理结构设计。

③数据库模型实施:选择数据库管理软件对上一个任务中设计的数据库模型进行实施,并介绍SQL语句的基本应用。

④数据库查询操作及视图、索引等数据库对象应用:对于已有数据库使用SQL语句进行查询的操作,并介绍视图、索引等主要数据库对象的应用。

⑤数据库应用系统开发:开发一个基于Web的数据库应用系统,对已有数据库实现数据的增删改查的功能。

以上的典型工作任务,与企业调研之前的工作任务对比情况,如下表所示:

2.2 能力目标

①能够进行初步的需求分析

②能够根据需求分析的结果设计数据库的概念模型

③能够将数据库概念模型转换为逻辑模型,并生成物理模型

④能够使用SQL语句实施数据库模型

⑤能够使用SQL语句进行简单数据查询

⑥能够使用Spring+Hibernate开发基于Web数据库应用系统

在课程标准中,还包含其他的一些内容,比如课程内容、课程的考核方式等内容,这里不再赘述。制定完课程标准后,就要依据课程标准进行课程方案设计。

3 《数据库开发》课程方案设计

根据课程标准,进行课程方案的设计,课程方案设计一般包含课程总体方案设计、课程任务方案设计和课程活动方案设计。

3.1 课程总体方案设计 课程总体方案设计是对于本课程的总体的介绍,其中包含课程的课时、适用专业、学习内容、能力目标、学习成果和考核方案等内容。

3.2 课程任务方案设计 课程任务设计方案是对于课程中涉及的典型工作任务的描述,它具体说明了课程中每个任务的学习内容、能力目标、学习环境、教学方法、学习成果和评价标准等内容。

3.3 课程活动方案设计 课程活动方案设计是对于每个典型工作任务中具体活动的描述,它具体说明了在典型工作任务中每个学习活动,介绍学习活动的内容、目标、活动具体设计、课程用到的参考资料等内容。

在完成课程的方案设计后,就可以根据方案进行数据库的实施了,在实施过程中还会遇到各种问题,实施完成后,要根据实施的情况,对课程的课程标准、课程设计方案等内容进行修订,从而使得课程的设计方案更加完善。

4 结论

由上面的内容不难看出,《数据库开发》课程的设计或者是其他技术类课程的设计,都应该注重实践,减少课程理论知识的讲解,将课程的理论知识融入到学生完成的典型工作任务中,真正要做到“做中学”,要重视课程本身与企业的关联,要做到课程为企业服务,另外,课程本身中的内容还要与时俱进,跟得上社会发展。

参考文献:

[1]马丹.《数据库课程设计》中常见问题及解决措施.2012.5.

数据结构课程设计安排 篇4

任课教师:刘华春

班级:2009公共班

学期:2010—2011第二学期

第一周星期一(2011.7.4)

1、布置专业考察题目以及具体内容安排

要求:以小组为单位(4人一组,共计10组),考察呼和浩特市中高档住宅小区景观设计。并分析设计的优缺点。

具体内容如下

① 总体平面规划

② 道路设计

③ 组团设计

④ 植物配置(基调树种、道路绿化等)

⑤ 公共设施

⑥ 硬质景观

上述内容拍照或手绘收集,完成于进展册中。

星期五(2011.7.8)

根据所收集的资料,小组讨论,有什么问题,提出具体修改方案。

作业:修改后方案草图绘制。

第二周星期一(2011.7.11)

个人辅导草方案,教师提出修改意见。

星期五(2011.715)

个人辅导草方案,教师提出修改意见。并将完成的方案以及考察的过程以及内容进行排版。(尺寸A3,2张版面)

第三周星期一(2011.7.18)

过排版电子稿

星期五(2011.7.22)

课程设计(数据结构) 篇5

1、运动会分数统计

任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=10 , w=8 , n=15)功能要求:

1).可以输入各个项目的前三名或前五名的成绩; 2).能统计各学校总分(用链表);

3).可以按学校编号、学校总分、男女团体总分排序输出(快速、基数);

4).可按学校编号查询学校某个项目的情况;可按项目编号查询取得前三或前五名的学校。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

测试数据:要求使用

1、全部合法数据;

2、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

2、迷宫求解

任务:可以读入一个任意大小的迷宫数据,分别用广度和深度搜索的方法求出一条走出迷宫的路径,并将路径输出(最佳路径); 要求:以较为直观的方式显示结果

3、Huffman编码

任务 :对一篇英文文章,统计各字符出现的次数,实现Huffman编码; 要求:输出每个字符出现的次数和编码,其中求最小权值要求用堆实现;

4、营业窗口队列模拟

任务:实现具有n(n=3)个窗口的现实队列模拟,统计每人的等待时间。要求:

1).随机产生顾客的到达时间和服务时间存盘。2).利用存盘数据实现队列的插入和删除。2).当有顾客离开时,根据队列长度调整队尾。3).考虑顾客中途离队的情况。4).考虑顾客具有优先级的情况。

5、公交线路提示

任务:建立南京主要公交线路图。要求:输入任意两站点,给出最佳的乘车线路和转车地点。

6、家谱管理系统

任务:实现具有下列功能的家谱管理系统 功能要求:

1).输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。

2).实现数据的存盘和读盘。3).以图形方式显示家谱。

4).显示第n 代所有人的信息。

5).按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。6).按照出生日期查询成员名单。7).输入两人姓名,确定其关系。8).某成员添加孩子。

9).删除某成员(若其还有后代,则一并删除)。10).修改某成员信息。

11).按出生日期对家谱中所有人排序。

12).打开一家谱时,提示当天生日的健在成员。

要求:建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求相关数据要存储在数据文件中。测试数据:要求使用

1、全部合法数据;

2、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

7、排序算法比较

设计要求:利用随机函数产生10个样本,每个样本有50000随机整数,利用直接插入排序、折半插入排序,表插入排序,希尔排序,起泡排序、快速排序、选择排序、堆排序,归并排序,基数排序十种排序方法进行排序(结果为由小到大的顺序),并统计每一种排序所耗费的平均时间(统计为图表坐标形式)。

8、算术表达式求值 [问题描述]

一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。[基本要求](1)从键盘读入一个合法的算术表达式,输出正确的结果。(2)显示输入序列和栈的变化过程。

9、电子小字典

基本要求:建立一个微型电子字典,实现生词的加入,单词的查找、删除,修改等操作。

数据结构:键树

10、校园导游程序

[问题描述]用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。[基本要求](1)查询各景点的相关信息;

(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。

(4)增加、删除、更新有关景点和道路的信息。

11、稀疏矩阵相乘

任务:以三元组形式存储稀疏矩阵,实现矩阵相乘。

12、平衡二叉树

任务:平衡二叉树的建立、结点的插入和删除。

13、B-树

任务:3阶B-树的结点的插入和删除。

14、HASH表

任务:以班级学生姓名(拼音)为关键字,建立HASH涵数,实现HASH表存储,用链地址方法解决冲突。

15、„„(自选合适的题目)

成绩评定细则:

1.正确性:程序是否可以运行,结果是否正确(20分)2.功能的完备性:是否实现要求的所有子功能(20分)

3.课程设计报告中的算法说明的清晰程度,课程设计报告中总结的深刻程度(20分)4.独立完成情况(40分)总计:100分

加分项目:

1.健壮性:异常处理的情况

2.可读性:代码编写是否规范,是否便于阅读。如函数、变量命名,‘{ }’的缩进,关键位置适量注释等

3.功能的完善:除要求实现的功能外,完成了其它的功能,实现了功能的完善 4.界面的设计:可视化界面,或者交互良好的DOS界面 5.……(自荐加分项目)

代码量要求:>=1000行。

代码总量 = 课设题目1 代码量 + 课设题目2 代码量…… 若代码总量低于1000行,则成绩按比例打折。

编程语言:C或C++语言

编程环境:Microsoft Visual C++ 6.0

检查方式: 1.总体上检查程序的代码量,正确性,可读性,健壮性,功能的完备性,代码量,程序的结构是否合理;局部检查三个以上函数块 2.检查程序时同时检查课程设计报告的电子文档

时间安排: 上机时间安排 课程设计报告上交时间 3 课程设计检查时间

课程设计报告要求:

1.所有的课程设计报告,均要有封面,包括:课题名称、班级、学号、学生姓名、成绩和指导教师;

2.给出自己采用的数据结构; 3.给出算法设计思想;

4.给出实现的源程序,并在必要的代码处给出注释; 5.给出测试数据和结果;

6.给出算法的时间复杂度、另外可以提出算法的改进方法;

数据结构课程设计选题 篇6

1、校园导游咨询(为来访的客人提供各种信息服务)

基本要求:

1、设计淮阴师范学院北校区平面图,在校园景点不低于10个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。

2、为来访客人提供图中任意景点相关信息的查询。

3、为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。

设计等级 B

2、迷宫问题

问题描述:编写一个程序求解迷宫问题。迷宫由m行n列的二维数组设置,0表示无障碍,1表示有障碍。设入口为(1,1),出口为(m,n),每次只能从一个无障碍单元移到周围四个方向上任一无障碍单元。编程给出通过路径或无法通行的信息。要求:

1、输出迷宫的所有路径

2、筛选出最短路径。

设计等级 A

3、算术表达式的求解

问题描述:以字符序列的形式从终端输入语法正确的、不含变量的整数算术表达式,编写程序求出该表达式的后缀表达式;计算最后的结果。基本要求:

1、表达式中至少包含加、减、乘、除四种基本运算

2、表达式中括号的层次至少为2层

3、能够判断算术表达式正确与否

4、对于错误表达式给出提示

5、输出后缀表达式

6、计算结果

设计等级 A

4、通讯录系统设计

问题描述:采用链表结构设计一个通讯录系统。基本要求:

1)通讯录链表的建立 2)通讯者结点的插入 3)通讯者结点的删除 4)通讯者结点的查询 5)通讯录输出 6)设计退出系统

7)要求链表的读取要在文件中完成。

设计等级 A

5、树的应用

问题描述:运用二叉链表结构存储一棵高度不低于5的树,完成以下操作

1、输出树的高度

2、输出树根到其它任意结点的路径

3、输出该树的后序遍历序列

4、计算任意结点的所处的高度

设计等级 A

6、文本文件单词的检索与计数

问题描述:要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写; 要求:

1、统计给定单词在文本文件中出现的总次数;

2、检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。

设计等级 A

7、二叉平衡排序树

问题描述:创建二叉平衡排序树 基本要求:

1、输入数据的数量不得低于15个

2、建立二叉平衡排序树(要求包括LL型LR型RR型RL型四种调整方式)

3、完成任意数据的查找(要求给出查找执行的次数)

设计等级 B

8、构造可以使n个城市连接的最小生成树

问题描述:给定一个地区的n个城市间的距离网,用Prim算法建立最小生成树,并计算得到的最小生成树的代价。基本要求:

1、城市间的距离网采用邻接矩阵表示,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。(要求至少10个城市,15条边)

2、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。

设计等级 B

9、哈夫曼编/译码器

1、问题描述:

利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。试写一个哈夫曼编/译码系统。

2、基本要求:

一个完整的系统应具有以下功能:

(1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件中。

(2)编码。利用已建好的哈夫曼树对文件中的正文进行编码,然后将结果存入文件中。(3)译码。利用已建好的哈夫曼树将文件中的代码进行译码,结果存入文件中。(4)完成数据测试,要求编码字符不低于15个,编码文件的长度不低于50个字符。

(5)计算平均编码长度。

设计等级 B

10、二叉树的遍历

问题描述:创建二叉树并遍历 基本要求:

1、分别运用非递归的方式完成对二叉树的先序和后序遍历

2、输出二叉树的高度

3、输出每一层的结点数

4、查找结点P 和结点Q的最近共同祖先

设计等级 B

11、寻找舞伴

一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统模拟动态地显示出上述过程,要求如下: 1)输出每曲配对情况

2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况。

设计等级 A

12、关键路径和拓扑排序

问题描述:创建一个AOE网完成如下要求 基本要求:

1、采用邻接表结构存储网(结点数量不低于10个,边的数量不低于15条)

2、输出一个拓扑序列

3、输出所有关键路径并计算路径长度。

设计等级 B

13、设计一个航空客运定票系统。

要求:

1、每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。

2、系统能实现的操作和功能如下:

1)查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;

3)承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。

3、要求:航线、客户等信息必须存储在文件中

4、采用链表作为数据结构

设计等级 A

14、医院选址

问题描述:有n个村庄,现要从这n个村庄中选择一个村庄新建一所医院,使其余的村庄到这所医院的距离总和来说较短。(n>6)

设计等级 B

15、客户消费积分管理系统

问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:

1.采用一定的存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、添加; 3.能够根据消费情况进行客户积分的计算; 4.根据积分情况实行不同程度的打折优惠; 5. 数据必须保存到文件中

设计等级 A

16、排序综合

问题描述:要求分别采用快速排序、二路归并排序、堆排序和希尔排序对随机生成的一组数据进行排序(数据不少于100); 要求:

1、完成排序的输入、输出

2、比较各种排序的性能

3、界面友好,提供操作菜单

设计等级 A

17、树与二叉树的转换

问题描述:完成树与二叉树的转换 基本要求:

1、树采用双亲表示法

2、能够将树转换为二叉树

3、对转换的二叉树进行算法设计统计人一结点的孩子数

4、利用转换的二叉树计算树的高度

设计等级 B

18、哈希表设计

问题描述:针对自己的班集体中的“人名”设计一个哈希表,完成相应的建表和查表程序。基本要求

1、人名为中国姓名的汉语拼音形式

2、待填入哈希表的人名不低于30个

3、用链表法处理冲突

4、完成任意人名的查找并给出查找长度

设计等级 A

19、矩阵应用

问题描述:完成矩阵的相关操作

1、创建两个普通矩阵完成矩阵的加法和乘法运算

2、完成一个对称矩阵的压缩存储

3、完成一个稀疏矩阵的压缩存储,并完成矩阵的快速转置

设计等级 A 20、图的遍历的实现

问题描述:分别创建一个有相图和无向图完成下面要求 基本要求:

1、进行深度优先遍历

2、非递归完成深度优先遍历

3、进行广度优先遍历

4、计算有向图的入度和出度

5、判断图的连通性和是否有回路。

设计等级 B

数据结构课程设计安排 篇7

目前我国“营改增”正加速推进,作为地方主体税种的营业税将趋于消失,地方财政困境将更显窘迫,这将直接引发地方税收体系的改革与重建,包括增设新的地方独享税种,设计新的地方主体税种来填补营业税消失之空白等。同时近些年来我国绝大多数地区房价一路飚升,目前仍处于非理性价位,被老百姓广为诟病。

房产税属于财产税,是以房产为征税对象,向产权所有人征收的一种税。而现在除上海和重庆试点外,全国实施的是1986年9月15日颁布的《中华人民共和国房产税暂行条例》。个人住房房产税(简称个人房产税)是以自然人所拥有的房产为征税对象。从税种的关键要素来看,它不是一个新税种,而是现行房产税的一个组成部分。它突破了现行的《房产税暂行条例》关于“个人所有非营业用房产免纳房产税”的免税规定,可视为对现行房产税的改革和扩围。但由于个人房产税影响大,在计税依据、计税方式、税率、征管模式等税制和政策方面具有不同于现行《房产税暂行条例》的具体规定,有必要独立出来,根据改革和实际需要另行进行制度设计和安排。

我国个人房产税是否征收、如何征收一直争议不断。从上海、重庆两市房产税试点情况来看,并不理想,原因很多,但其最主要的两个原因:一是以房产为征税对象的个人房产税直接影响现有房产所有者的利益,改革阻力大;二是房产税的设计与制度安排不够合理。

我国个人房产税的开征是大势所趋。本文探讨如何基于调控房价、财产公平及税收结构优化的三重视角更科学地设计房产税,使房产税制度安排更合理,更人性化,以便房产税改革更顺利地推行及满足经济社会发展的需要。

二、个人房产税的征税范围

根据《上海市开展对部分个人住房征收房产税试点的暂行办法》的规定,个人住房房产税征收对象是指暂行办法施行之日起本市居民家庭在本市新购且属于该居民家庭第二套及以上的住房和非本市居民家庭在本市新购的住房。

而根据《重庆市人民政府关于进行对部分个人住房征收房产税改革试点的暂行办法》的规定,征收对象的住房为:1.个人拥有的独栋商品住宅;2.个人新购的高档住房(是指建筑面积交易单价达到上两年主城九区新建商品住房成交建筑面积均价2倍或2倍以上的住房);3.在重庆市同时无户籍、无企业、无工作的个人新购的第二套(含第二套)以上的普通住房。

从目前沪、渝试点来看,上海只针对增量房,重庆主要针对存量的高档住宅及增量高档住房,征税范围过窄,忽视了大量的存量房这一基本事实,没有发挥房产税对大量存量房的调配作用,只具改革开启之意义。

个人房产税的征税范围设定应坚持普遍征收的原则,把大量的存量房纳入征收范围,以充分发挥房产税对房价和财产分配的税收杠杆作用。但考虑到改革初期阻力大,农村房产不征收,只对城镇房产征收。这里的城镇也可再缩小范围,仅指城市、县城,不包括建制镇和工矿区,可与国家大力发展小城镇战略相对接。待到个人房产税迈入正轨后,本着公平原则,再适时地将建制镇、工矿区和农村的房产纳入征收范围。

我国个人房产税的征税范围应以家庭为单位,考虑到人们的基本住房需求,一套房不征收(不管面积大小)。第二套开始征收。如果一家庭有二套或二套以上房,由其选择其中一套作为基本居住需求,其余则要纳入征收范围。这种方案既具人性化,又操作方便,在改革之初有助于减小改革阻力,应作为首选方案。或者仍以家庭为单位,再辅之核定每位人的基本居住面积,设计人均免征面积或免征额,这个人均免征面积或免征额可以从满足人最基本的居住需求来考虑,可仍沿用目前上海市试点的人均60平方米的免税住房面积的设计。超出核定的基本居住面积那怕只有一套也应纳入征收范围。第二种方案理论上最公平最合理,但实际上不便于操作,不如第一套方案。

个人房产税改革不应过于考虑改革阻力,而步履缓慢,尽快扩围到全国的城市和县城,并将存量房纳入征税范围。只要坚持公平、公正的原则,所征税收入用于本地公共支出和建设,就可大胆积极推进。将房产税作为地方独享税种,将其培育成地方政府主要的财政来源,与“营改增”协同推进,尽快缓解地方财政困境。

三、个人房产税的税率设计

国外主要发达国家房产税运行已久,较为成熟,我国个人房产税刚起步,可以采取“拿来主义”,税率可以充分考虑国外主要发达国家的个人房产税率进行设计。法国、德国、日本、韩国、加拿大和美国等主要发达国家房产税的实际税率是在0.1~1.73%之间。

我国个人房产税的税率可参考我国现行的房产税税率来设计。非出租的个人住房可参考现行的按照房产原值一次减除10%~30%损耗后的余值再乘以年税率1.2%来算税的做法。住房年限不同,计税减除比例不同,年限越久,减除比例越高,以体现房屋价值折损之事实。由于个人住房是用于居住,不同于企业,可参考1.2%税率适当降低些。税率为多少还应考虑家庭拥有住房套数来设计,第二套房税率应低些,第三套应高些,套数越多,税率应更高,利用税收的传递效应抑制投机投资需求,挤出房产业占用过多资金,有利于其它产业的发展。同时通过税收来调配财产分配,还可增加政府税收。个人按市场价格出租的居民用房,可沿用现行4%的税率或以4%为参考进行设计,从租计征。

个人房产税的税率设计应基于一个基本的考虑:广大老百姓的居住需求。税率的设计总体上应就低不就高,从低设计适用税率。

四、个人房产税的归属设计

目前我国的税收结构以间接税为主,间接税占比过高。而间接税易转嫁到普遍老百姓身上,大大削弱了老百姓的购买力。我国正面临着陷入“中等收入陷阱”的巨大风险,正是撬动强大而低迷的国内需求的关键时期。通过降低间接税比重,减轻中低收入阶层的税负,提振老百姓的消费力,无疑具有重大的现实意义。

同时,我国直接税占比过低,没有真正意义的财产税,没有有效发挥直接税调节收入和财产分配的功能,这也是造成当前我国收入差距不断扩大的部分原因。由于住房资产在各国国家财富中所占的比例一般都超过25%,占家庭财富的比例一般都超过75%,住房资产在家庭支出中的比例也在20%以上。而在我国“具有房产情结”、投资渠道有限的大陆内地住房资产占家庭财富的比例会更高。作为直接税种的个人房产税的开征,将会开辟我国大陆真正意义的财产税,可有效调节财产分配,平抑财产配置的两极分化。同时也可通过房产税的税收杠杆作用抑制人们对不动产的投机投资需求,使人们对住房支出回位到一个合理的支出比例,以有效调节人们的消费支出结构,提高生活质量。而且,通过个人房产税的税收刺激和挤出效应,改善房产业过分占用资金的现状,调配资金到其它产业,可起到优化国家产业结构和经济结构的作用。

当前正处“营改增”快速推进时期,作为地方主体税种的营业税将趋于消失,使得承担事权过多的地方政府更显财政困境,急需培育新的地方主体税种来增加地方财政收入。由于住房资产在我国家庭财产中占比非常高,因此个人房产税的税源稳、税基大。横看国外市场经济成熟的美国、加拿大、法国和日本等国家,以个人不动产对征税对象的房产税或类似税种对国家的税收贡献都非常大。如果将个人房产税在全国范围进行推广,税收规模大,税源稳,可大大提高直接税种对财税收入的贡献率,优化税收结构。把其培育成地方主体税种具有很好的预期和潜力。

由于住房是不动产,不能跨区域流动,可以避免地方政府跨区域税收竞争,因此可将其设计为地方独享税种,地方政府为了更多的地方税收,将会受到激励,创造更好的基础设施和经济发展环境、优美的环境、和谐的人文环境等引进产业促进经济发展,吸引居民购买房产落户,这样就会产生多方面的正面效应。个人房产税以存量房产为征税对象,将会形成地方政府想办法增加当地存量房产的激励,积极供地,形成地价下行的压力,地价走低,房价也会相应下降,从而房价回到一个正常的价位,大部分人能买得起房,人们的福利水平高了,存量房产多了房产税也多了,也可有效抑制地方政府片面搞土地财政和避免地价的不合理上升。

五、个人房产税的征收管理

个人房产税的征收管理是一个涉及面广而复杂的系统工程。个人房产税的开征首先需要解决两个基础性的问题:

一是个人住房的确权及其全国范围内的联网登记系统,这是解决存量房的信息问题,是个人房产税进行制度设计及安排的基本前提。没有存量房的基本信息也就不可能进行全国的通盘考虑和设计,如上海试点,居民家庭住房套数只能根据居民家庭在上海市拥有的住房情况来确定;

二是要建立一个科学的不动产评价体系和评价机构,以便于对不动产进行价值评估。不同区域、区位、楼层、朝向、空间等的房产其价值不同,房产价值应作为首选的计税基础,以房产价值作为个人房产税的计税依据与其它相比最为科学合理,可充分发挥房产税的财产调配之功能,体现财产公平、缩小收入差距及培育中产阶级等国家价值取向及宏观战略。从价计征远胜于部分人士提出的片面强调征收操作性的从量计征。

数据结构课程设计安排 篇8

1.在《C程序设计》与《数据结构》教学中对课程整合概念的理解

理论上,课程整合是指对课程设置、各课程教育教学目标、教学设计、评价等诸要素作系统的考察与操作。在实际教学中,课程整合是指考虑到各门相互分裂的课程之间的有机联系,将这些课程综合化。

在传统的教学模式中,《C程序设计》是先行课程,《数据结构》是后续课程,它们都是学习操作系统、数据库原理和应用、面向对象程序设计等课程的基础。《C语言程序设计》是学生最先接触的结构化程序设计语言,其教学目的主要是使学生了解结构化程序设计的算法和思路,掌握程序设计和调试的基本技巧,培养良好的软件设计基础。《数据结构》主要是研究非数值应用问题中数据之间的逻辑关系和对数据的操作,同时还研究如何将具有逻辑关系的数据按一定的存储方式存放在计算机内。其教学目的主要是使学生掌握数据的逻辑结构、存储结构及其相应的算法,培养学生解决实际问题的能力,即能够把现实世界中的客观问题,变换为在计算机内的表示形式,学会组织数据、选择算法、养成良好的程序设计风格。

《数据结构》课程中分析数据之间的逻辑关系和确定数据在计算机内的存储结构是所有程序设计过程中必须完成的两大任务,且《数据结构》中算法描述的语言又多采用C语言,两门课程之间存在着紧密而内在联系,为两门课程的整合提供了可能性。

2.《C程序设计》与《数据结构》的教学现状

在传统的教学模式中,《C程序设计》是先行课程,《数据结构》是后续课程,将两门课程分开来教学,人为地割断了它们之间的内在联系,导致学生在学习《C程序设计》时,仅局限于C语言的语法层面上,不能把C语言的程序设计思路和语法知识具体运用到数据结构的算法中去,使理论知识与实践运用脱钩。而在学习《数据结构》时,由于教师的更换和教材的多样化,任课教师又不得不花掉一、两周的时间来复习C语言的相关知识,造成了课时的浪费和学生反感。在具体运用时,又出现学生能理解数据结构中的算法和读懂算法,却不能运用C语言去实现算法等程序设计能力较差的现象。笔者长期从事这两门课程的教学工作,一直在探索如何提高这两门课程的教学效果,培养学生运用C语言这个工具去解决实际问题的能力。

3.《C程序设计》与《数据结构》课程整合的思路

在高职院校计算机应用专业的课程体系中,实现《C程序设计》和《数据结构》这两门课程的整合,要结合职业教育培养实用型人才的目标,根据后续专业课程的需要来确定。《C程序设计》和《数据结构》课程整合化的思路以C语言为工具,以实践为中心,重视基础知识,注重能力培养,对两门课程教学内容和教学模式进行优化和整合。

在实施过程中,将这两门课程整合为一门课程,课程名称为《C程序设计与数据结构》,在一个学期内完成授课内容。坚持理论联系实践的教学模式,突出实践教学的重要性,去掉繁琐的理论推导,重新设计教学、实训大纲,处理教材,合理分配学时。在具体教学中,以C语言为主线,将数据结构的内容溶入到C语言的教学中,对数据结构的内容以“适度够用”为原则,适当地进行删减,以满足高职教育培养应用型人才的教学需要。

4.《C程序设计》与《数据结构》课程整合的具体实施

(1)整合后理论课教学的内容和学时分配

整合后周学时为6节,总学时为102节(按17个教学周计),其中理论课时为68节,上机实践课时为34节。

(2)课程整合后的实践教学设计

在实践教学中,要进一步巩固对理论知识的理解,提高学生灵活运用数据结构和算法的能力,使学生在编程、上机操作、程序调试与正确性验证等基本技能方面得到训练和提高。实验可分两部分,一是验证性实验,主要结合课堂理论教学内容展开,学生可以对在课堂上学到的基本算法进行验证;二是运用性实验,组织学生以小组为单位设计一些实用程序,要求学生从实际出发,在具体、真实的环境中分析研究数据对象的特性,构造合理的数据结构以及相应的算法。

(3)课程整合后的考试要求

整合后的课程培养目标是提高学生的计算机应用能力,计算机应用能力包括了三个层次:操作使用能力、应用开发能力和创新能力。因此整合后的课程考核,应采取理论基础闭卷和上机操作开卷相结合的方式进行,综合评价应从以下三个方面来着手。

①笔试。笔试主要是考察学生对理论知识的系统性的理解,可由客观题型(如选择、填空题等)和主观题型组成,客观题型要立足于基础知识,小而全,避免死记硬背。主观题型要灵活多样,如问题解决分析、程序编写等。占整个评价的30%。

②上机实践。上机实践贯穿于整个教学当中,所以要注重过程考核,结合实训计划,在各单元模块结束时,进行随堂考核,并认真检查和记录学生考核情况,作为期末上机实践成绩的一部分。实行各单元过关,有了各单元模块的考核,到期末上机操作综合考核时就不成问题了。通过对上机操作实践的评价,可以考察学生应用计算机解决实际问题的能力。占整个评价的40%。

③学生的平时表现。学生的平时表现是指是否认真上课、听课,上机练习的任务是否独立完成,上机设计的任务是否有创意,作业是否按时上交等等,这些资料的积累,有利于对学生学习情况的全面认识。学生在整个授课过程中的表现,占整个评价的30%。

在课程整合中,合理的考核方案能促进学生知识的积累,避免学生考前突击和死记硬背现象,使学生真正学到知识。

随着我国经济的突飞猛进和国家对职业教育的高度重视,高职教学改革也在不断深入,探索高职计算机专业应用型人才的培养模式,加强《C程序设计》与《数据结构》课程建设与教学改革也将不断深入,作为一名长期从事计算机教学的教育工作者,更要转变观念,探索新的教育教学模式,培养更多适应我国社会主义现代化建设需要的高素质应用型专业人才。

数据结构与算法课程设计题目 篇9

1.成绩管理

问题描述:给出n个学生的考试成绩表,成绩表包括学生的学号、姓名、考试成绩(高等数

学、英语、物理),设计一个简单的成绩管理程序。

基本要求:

(1)建立成绩表,能够插入、删除、修改学生的成绩记录;(2)按任一单科成绩排序;(3)计算每名学生的平均成绩;

(4)统计任一单科成绩不及格的学生人数, 输出不及格人数及不及格的学生名单(5)根据平均成绩将成绩表按由高到低的次序排列,统计每名学生在考试中获得的名次,分数相同的为同一名次,按名次输出成绩表。

(6)成绩表保存在文件中, 可以从文件读取数据。

测试数据:学生可以根据自己班级的考试成绩单,任意截取一部分做为测试数据 2.一元多项式简单计算

问题描述:设计一个简单一元多项式计算器。基本要求:(1)输入并建立多项式;(2)输出多项式;

(3)两个多项式相加,输出结果多项式;(4)两个多项式相减,输出结果多项式。

提高要求:可以根据输入变量的值,计算出多项式的结果,且算法的效率高。测试数据:可任意选取两个一元多项式,可以是一般的多项式,也可以是稀疏多项式。3.舞伴问题

问题描述:一班有m个女生、n个男生(m不等于n), 举办一场舞会.男女生分别编号坐在舞池两边的椅子上,每曲开始时, 依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴,设计一个程序模拟舞伴配对过程。

基本要求:输入男、女学生的姓名、性别,由程序自动为男女生编号,可以顺序编号,也可以随机编号,输出每曲配对情况(包括男、女生的姓名、性别和编号)。原始数据和结果数据要保存到文件中。

测试数据:分别选择男生多于女生、女生多于男生、男女生相等的三组测试数据 提高要求:计算出任意一位男生(编号为X)和任意一位女生(编号为Y), 在第K曲配对跳舞的情况。

4.文学研究助手(*)

问题描述:文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为“文学研究助手”。基本要求:英文小说存于一个文本文件中,待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计, 结果保存到文件中。

提高要求:模式匹配选取KMP算法

测试数据:以你的C/C++/JAVA源程序模拟英文小说,相应语言的保留字集作为待统计的词汇集。

5.哈希表的设计与实现(*)

问题描述:针对某个单位电话号码簿,设计一个哈希表,并完成相应的建表和查表程序。基本要求:设每个记录有下列数据项:电话号码、用户名、住址。从键盘输入各记录,以用户名为关键字建立哈希表,哈希函数用除留取余数法构造,采用线性探测法解决冲突。可以插入、查找、删除并显示给定用户名的记录,并计算查找长度, 哈希表保存到文件中。

测试数据:取某个单位电话号码簿中的30个记录。

提高要求:将电话号码薄以文件形式保存到盘上,能够按用户名和电话号码两种形式建立哈希表并实现插入、查找、删除表中元素的功能。

6.管道铺设施工的最佳方案(*)

问题描述:需要在某个城市的n个小区铺设管道,则在这n个小区之间铺设n-1条管道即可,假设任意两个居民区之间都可以架设管道,但由于地理环境的不同,所需经费不同,选择最优的施工方案使总投资尽可能的少。

基本要求:输入表示小区间关系的图及每条管道的权值,选择出n-1条管道, 使总投资最小。图的信息输入一次后, 保存到文件中, 选择的n-1条管道输出到显示器的同时, 也保存于文件中。

测试用例:任意选择一个图,模拟小区间可能铺设的管道及费用。提高要求:显示原始图及选择n-1条管道后的图。

7.安排教学计划(**)

问题描述:大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两个学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排上必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课程恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。

基本要求:输入参数包括学期总数,一学期的学分上限,每门课程的课程号、学分和直接先修课的课程号;允许两种策略,一是使学生在各学期的学习负担尽量均匀,二是使课程尽量集中在前几个学期;若根据给定的条件问题无解,则报告适当的信息,否则将教学计划输出到用户指定的文件中。教学计划的表格格式自行设定, 可以从键盘读取数据也可以从文件读取数据, 结果保存到文件中。

测试数据:学期总数为6,学分上限为10,该专业共开设12门。以08级某专业必修课与选修课为例,选择12门课程及相应学分,制定一个表明各门课程先后约束关系的有向图。

提高要求:产生多种不同的方案,并使方案之间的差异尽可能地大。8.停车场管理程序(**)问题描述:设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

基本要求:每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费,单位时间的停车费用由用户从键盘输入)。

测试数据:设输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。

提高要求:设停车场有南、北两个门,每个门都可以进、出车辆。9.计算表达式的值(**)问题描述:对于给定的一个表达式,表达式中可以包括常数、算术运行符(“+”、“-”、“*”、“/”)和括号,编写程序计算表达式的值。

基本要求:从键盘输入一个正确的中缀表达式,将中缀表达式转换为对应的后缀表达式,计算后缀表达式的值。

测试数据:任意选取一个符合题目要求的表达式。提高要求:(1)对于表达式中的简单错误,能够给出提示;

(2)表达式中可以包括单个字母表示的变量。

10.设计Huffman 编码器与解码器(***)

问题描述:利用哈夫曼编码进行信息通讯可以大大提高信道的利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码;在接受端将传来的数据进行译码。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站编写一个哈夫曼码的编/译码系统。

基本要求:根据某字符文件统计字符出现频度,构造Huffman 树,编制Huffman编码,并将给定字符文件编码,生成编码文件;再将给定编码文件解码,生成字符文件。(要求按二进制位表示编码)测试数据:英文文件。

提高要求:用二进制表示编码,生成二进制的编码文件。11.银行业务模拟(***)

问题描述:设银行有四个服务窗口,一个等待队列, 每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候, 当任一服务窗口空闲时,处理等候客户中排在最前面的客户的业务。写一个上述银行业务的模拟系统,通过模拟方法求出客户在银行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。

基本要求:每个客户到达银行的时间和需要办理的业务随机产生,输出一天客户在银行的平均逗留时间和每个窗口每天办理的客户数和每种业务数。

测试数据:营业时间为8小时,其他模拟量自行设定。12.程序源代码的相似性(***)

问题描述:对于两个C++语言的源程序代码,用哈希表的方法分别统计两个程序中使用C++语言关键字的情况,并最终按定量的计算结果,得出两份程序的相似性。

基本要求:建立C++语言关键字的哈希表,统计在每个源程序中C++关键字出现的频度, 得到两个向量X1和X2,通过计算向量X1和X2的相对距离来判断两个源程序的相似性。

例如: 关键字 Void Int For Char if else while do break class 程序1关键字频度 4 3 0 4 3 0 7 0 0 2 程序2关键字频度 4 2 0 5 4 0 5 2 0 1 X1=[4,3,0,4,3,0,7,0,0,2] X2=[4,2,0,5,4,0,5,2,0,1] 设s是向量X1和X2的相对距离,s=sqrt(∑(xi1-xi2)2),当X1=X2时,s=0, 反映出可能是同一个程序;s值越大,则两个程序的差别可能也越大。

测试数据: 选择若干组编译和运行都无误的C++程序,程序之间有相近的和差别大的,用上述方法求s, 对比两个程序的相似性。

提高要求:建立源代码用户标识符表,比较两个源代码用户标识符出现的频度,综合关键字频度和用户标识符频度判断两个程序的相似性。

13.小型文本编辑器

问题描述:设计一个行编辑程序,使其具有通常行编辑器(如Vi、Edlin)应具备的基本功能。

基本要求:编辑器应具备对文本文件的查找、插人、删除、修改、字符串替换、统计字数,统计行数等功能,对于超过一屏的长文件,应能够分页显示,查找功能用字符串匹配算法实现。设计用户接口命令,实现对文本的编辑。具体的编辑命令,可参考数据结构算法网络教学平台上提供的edlin、Vi的命令集。

测试数据:任一文本文件。

提高要求:1.可以支持“* ”、“? ”等通配符;

2.支持复制、粘贴等功能

3.支持多文档同时编辑;

提示:可以考虑用双向链表实现,每一结点表示一行字符,注意每行字符不能超过255。14.小型英汉词典

问题描述:设计一个英汉词典,支持Member(查找)、Insert(插入)、Delete(删除)操作。

基本要求:实现字典的常用方法有:有序线性表(Memeber用二分检索实现)、AVL树(二叉搜索树)、Patricia Trie、散列表等,任选一种方法实现字典的操作,查找单词、插入单词(插入时,先查找,找不到插入,找到提示用户)、删除单词(删除时,先查找,找到删除,找不到提示用户)。

测试数据:任一英文单词。提高要求:选用两种以上的方法实现字典的操作,并比较不同实现算法的时间复杂度和空间复杂度。

提示:字典可以自己建立,但必须按字母a~z建立26个文件,建议从网上下载,文件类型为txt。

备注:

1.每道题目后面的*号,表示题目的难度系数;对应的评定成绩等级为及格(无*号)、中等(*号)、良好(**号)、优秀(***号),学生完成题目的基本要求,即可得到程序设计部分的相应等级成绩,完成题目提高要求,成绩可以向上浮动,如果没有完成基本要求,成绩向下浮动,直至不及格。

上一篇:srtp个人感想下一篇:提升改造工程