数据结构课程设计任务书(网络09)

合集下载

数据结构的课程设计

数据结构的课程设计

数据结构的课程设计一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点与应用场景。

2. 学会分析不同数据结构的存储方式和操作方法,并能运用到实际问题的解决中。

3. 掌握排序和查找算法的基本原理,了解其时间复杂度和空间复杂度。

技能目标:1. 能够运用所学数据结构知识,解决实际问题,提高编程能力。

2. 能够运用排序和查找算法,优化程序性能,提高解决问题的效率。

3. 能够运用数据结构知识,分析并解决复杂问题,培养逻辑思维能力和创新意识。

情感态度价值观目标:1. 培养学生对数据结构学科的兴趣,激发学习热情,形成主动探索和积极进取的学习态度。

2. 增强学生的团队协作意识,培养合作解决问题的能力,提高沟通表达能力。

3. 培养学生的抽象思维能力,使其认识到数据结构在计算机科学中的重要性,激发对计算机科学的热爱。

本课程针对高中年级学生,结合学科特点和教学要求,注重理论与实践相结合,培养学生的编程能力和逻辑思维能力。

通过本课程的学习,使学生能够掌握数据结构的基本知识,提高解决实际问题的能力,同时培养良好的学习态度和价值观。

在教学过程中,将目标分解为具体的学习成果,以便进行后续的教学设计和评估。

二、教学内容1. 数据结构基本概念:介绍数据结构的概念、作用和分类,重点讲解线性结构(线性表、栈、队列)和非线性结构(树、图)的特点。

2. 线性表:讲解线性表的顺序存储和链式存储结构,以及相关操作(插入、删除、查找等)。

3. 栈和队列:介绍栈和队列的应用场景、存储结构及相关操作。

4. 树和二叉树:讲解树的定义、性质、存储结构,二叉树的遍历算法及线索二叉树。

5. 图:介绍图的定义、存储结构(邻接矩阵和邻接表)、图的遍历算法(深度优先搜索和广度优先搜索)。

6. 排序算法:讲解常见排序算法(冒泡排序、选择排序、插入排序、快速排序等)的原理、实现及性能分析。

7. 查找算法:介绍线性查找、二分查找等查找算法的原理及实现。

闽江学院数据结构之林宏课程设计任务书

闽江学院数据结构之林宏课程设计任务书

闽江学院数据结构之林宏课程设计任务书(简单计算器l r s)(总4页)
-本页仅作为预览文档封面,使用时请删除本页-
附录1 课程设计任务书模板
闽江学院物理学与电子信息工程系
课程设计(程序设计)任务书
题目简单计算器
专业、班级
学号
姓名
完成期限: 2014-01-04
指导教师签名:
年月日
一、主要内容
写一个程序来实现算术计算器。

通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、*、等运算符号),然后将其信息存入文件中。

输入一个算术计算式,就在屏幕上显示结果。

二、具体要求
(一)功能要求
基本要求:
(1)用C语言实现程序设计;
(2)利用结构体、共用体进行相关信息处理;
(3)画出查询模块的流程图;
(4)系统的各个功能模块要求用函数的形式实现;
(5)界面友好(良好的人机互交),程序要有注释。

(二)界面要求/输入输出要求
(1)定义一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存入文件中;
(2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;
(3)画出部分模块的流程图;
说明:此任务书由指导教师填写,一式三份,一份发给学生使用,一份给指导教师留存,一份存档。

数据结构(JAVA)课程设计

数据结构(JAVA)课程设计

数据结构(JAVA)课程设计数据结构(JAVA)课程设计一、项目背景和目的1.1 项目背景这个课程设计是为了让学生在学习数据结构的过程中,能够运用所学的知识,实际完成一个具体的项目。

通过设计和实现一个基于JAVA的数据结构,帮助学生加深对数据结构的理解。

1.2 项目目的通过完成这个项目,学生将能够:- 熟悉和理解数据结构的基本概念和原则- 掌握JAVA编程语言的基本语法和使用方法- 设计和实现一个完整的数据结构,包括各种基本操作和功能- 加深学生对数据结构的应用和解决问题的能力二、项目需求和功能2.1 项目需求本项目需要实现一个基于JAVA的数据结构,可以包括但不限于以下需求:- 实现各种基本数据结构,如栈、队列、链表、树等- 提供基本的操作和功能,如插入、删除、查找、排序等- 可以处理各种不同类型的数据,如整数、字符、字符串等- 可以实现数据结构的可视化和交互功能- 提供良好的使用界面和用户体验2.2 功能划分根据项目需求,可以将功能分为以下几个部分:- 基本数据结构的实现:栈、队列、链表、树等- 数据结构的基本操作和功能:插入、删除、查找、排序等- 数据类型的处理:整数、字符、字符串等- 可视化和交互功能的实现- 用户界面和用户体验的设计三、项目实现和设计3.1 数据结构的实现在这一部分,需要具体实现各种基本的数据结构,包括但不限于栈、队列、链表、树等。

可以根据不同的数据结构,选择合适的实现方式和算法。

3.2 基本操作和功能的实现在这一部分,需要实现数据结构的基本操作和功能,如插入、删除、查找、排序等。

可以根据具体的需求,选择合适的算法和方法。

3.3 数据类型的处理在这一部分,需要实现对不同类型数据的处理功能,如整数、字符、字符串等。

可以考虑使用面向对象的思想,设计合适的类和方法。

3.4 可视化和交互功能的实现在这一部分,需要实现数据结构的可视化和交互功能,可以考虑使用图形界面或者命令行界面,提供友好的用户界面和用户体验。

《数据结构》课程设计任务书

《数据结构》课程设计任务书

算法与数据结构课程设计任务书课程编号:2409080S 课程性质:专业实践课学时/学分:1周/1. 适用专业:计算机科学与技术(交通信息工程)教材:《数据结构》C语言版,严蔚敏、吴伟民编著,清华大学出版社课程设计目的:1.训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题的能力。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.培养学生在分析问题和解决问题过程严谨的科学态度和良好的工作作风课程设计要求:1.18周周1至周5完成选题、问题分析、算法设计、程序编写、程序测试和程序验收。

2.按照课设格式提交课程设计报告(7月10日)。

3.分数=80%程序+20%报告课程设计题目课程设计题一:学生成绩管理系统设计目的:1.掌握线性链表的建立。

2.掌握线性链表的基本操作。

3.加深对线性链表及其基本操作的理解。

利用线性链表实现学生成绩管理系统。

具体功能:输入、输出、插入、删除、查找、追加、显示、分类合计,并能在屏幕上输出操作前后的结果。

设计要求:1.初始化线性链表。

可以通过键盘输入,进行学生信息的录入。

并根据命令,进行插入、删除、追加、遍历、分类合计等操作。

2.输出操作前后的结果。

3.如果有时间,可以添加保存功能。

即将链表中的学生记录保存到一个文本文件中。

课程设计题二:停车场管理系统设计目的:1.掌握栈和队列的建立。

2.掌握栈和队列的基本操作。

3.深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。

4.加深对栈和队列的理解和认识。

设计内容:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

数据结构课设

数据结构课设

沈阳工程学院课程设计设计题目:表达式求值(第4组)沈阳工程学院课程设计任务书课程设计题目:表达式求值(第4组)一.表达式的求值问题我们很早就开始学习如何写和计算表达式。

可以想象,大部分小学生开始计算诸如8+5*(7-3)之类的表达式时,都碰到了一些困难。

通过一段时间的学习之后学生就能够掌握和描述计算步骤了。

例如上述表达式可描述为:7减去3得4,5乘以4得20,8+20得28,因此表达式的值为28.如果进一步问为啥要以这个次序来计算表达式,回答起来就比较困难了。

当然,随着时间的推移,人们逐步熟悉了这种表达式的求值顺序,即运算规则:有括号的先算括号内的,无括号的就先计算乘法和除法,在做加减法。

这是人们一直沿袭下来的计算方法。

如今,计算机已经成为人们生活中不可缺少的工具。

那么,计算机能否计算给定的运算表达式的值呢?回答是肯定的。

表达式的计算是实现程序设计语言的问题之一,也是栈和队列应用的一个典型的例子。

二、设计要求和分析要求:以字符序列的形式从终端输入语法正确的,不含变量的整数表达式,利用给定的运算符有限关系,实现对算术四则混合运算表达式的求值。

并且演算再求值的运算操作中,输入字符和主要的操作的变化过程。

分析:人们在书写表达式时通常采用的是“中缀”表达方式。

但是,这种表达式表示对计算机的处理来说是不太合适的,对于表达式的表示还有一种形式,曾为“后缀”表达式,即将运算符号紧紧地跟在后面。

由于每一个运算符对他直接的两个操作数进行运算,同样可以得出结果。

因此,要用计算机来处理,计算算术表达式的问题,首先要解决的是如何将人们的习惯书写的中缀表达式转换成计算机容易处理的后缀表达式。

三、中缀表达式到后缀表达式的转换1.算法分析如何将中缀表达式转换成后缀表达式?我们来分析一下。

先假定在算术表达式中只含有四个基本运算符,操作数是10以内整数,没有括号。

新描述的运算符的优先级必须与前一个运算符的优先级周比较,如果新的运算符的优先级别高,就要像前一个运算符那样保存它,知道扫描到第二个操作,将它输出后才能将该运算符输出。

课程设计任务书

课程设计任务书

III
哈尔滨工业大学(威海)数据结构课程设计任务书
院 系 计算机科学与技术 学院 班 号 组 号 1311104 学 号 学 号 131110415 131110416 姓 名 姓 名 王舒渝 王岳 专 业 软件工程
课程设计题目:飞机订票系统
I
问题阐述与分析
1. 问题背景 伴随着人们更多的使用飞机作为交通工具,国内机票票务市场也在快速发展。而 与此同时, 人们也希望机票销售手段也能相应的有所调整, 并且希望自己能经济, 方便和及时的购买到自己所需要的机票。所以网上订票的系统需要研究和开发。 2. 应用意义 网上订票系统操作简单, 流程顺畅, 效率高, 完善严谨, 是根据市场的实际需要, 融合机场的实际业务运作特点和管理需要。通过实时,透明的航班价格与信息的 提供,是用户及机票代理均可获得诸多的益处。打印电子票单功能,使购票过程 大大简化,而且降低了成本。 3. 主要问题 如何使得订票系统既方便工作人员的使用,又方便购票人员的使用。如何快速的 更新订票系统的航班信息以及已经卖出的票,如何存储航班信息以及客户信息。 4. 计划实施方案 通过此系统可以实现如下功能: 1.录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体 数据自定); 2.查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达 城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查 询飞机航班情况; 3.订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果 该航班已经无票,可以提供相关可选择航班; 4.退票: 可退票,退票后修改相关数据文件; 5.录入客户资料:客户资料有姓名,证件号,订票数量及航班情况,订单要有编 号;
6.修改航班信息:当航班信息改变可以修改航班数据文件。

(完整word版)数据结构课程设计(哈夫曼编码)

目录目录 (1)1 课程设计的目的和意义 (3)2 需求分析 (5)3 系统设计 (6)(1)设计思路及方案 (6)(2)模块的设计及介绍 (6)(3)主要模块程序流程图 (9)4 系统实现 (14)(1)主调函数 (14)(2)建立HuffmanTree (14)(3)生成Huffman编码并写入文件 (18)(4)电文译码 (19)5 系统调试 (22)小结 (25)参考文献 (26)附录源程序 (27)1 课程设计的目的和意义在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。

哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。

哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。

树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0"码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1"的序列作为和各个对应的字符的编码,这就是哈夫曼编码。

通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。

电报通信是传递文字的二进制码形式的字符串。

但在信息传递时,总希望总长度尽可能最短,即采用最短码。

作为软件工程专业的学生,我们应该很好的掌握这门技术。

在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。

在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。

这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。

在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。

更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见.同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。

算法与数据结构课程设计任务书

算法与数据结构课程设计任务书1、实训意义和目的使学生巩固和加强《C语言程序设计》和《数据结构与算法》课程的理论知识。

使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。

使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。

进一步理解和运用结构化程设计的思想和方法;学会利用流程图或N-S图表示算法。

使学生掌握调试程序的基本方法及上机操作方法。

掌握书写程设计开发文档的能力,使学生学会撰写课程设计总结报告。

课学生做毕业设计打好基础。

初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。

通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。

培养学生的创新能力和创新思维。

学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。

培养学生良好的程序设计风格。

在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。

学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

2、实训目标及要求参加本课程设计的学生,应当认真完成本课程设计的全部过程。

并以最终课程设计成果来证明其独立完成各种实际任务的能力。

从而,反映出理解和运用本课程知识的水平和能力。

A、分析问题。

各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。

B、提出算法执行特定任务。

模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。

C、把一个算法变为用C语言编写的结构化程序。

D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。

E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。

《数据结构》课程设计

《数据结构》课程设计一、课程目标《数据结构》课程旨在帮助学生掌握计算机科学中基础的数据组织、管理和处理方法,培养其运用数据结构解决实际问题的能力。

课程目标如下:1. 知识目标:(1)理解基本数据结构的概念、原理和应用,如线性表、栈、队列、树、图等;(2)掌握常见算法的设计和分析方法,如排序、查找、递归、贪心、分治等;(3)了解数据结构在实际应用中的使用,如操作系统、数据库、编译器等。

2. 技能目标:(1)能够运用所学数据结构解决实际问题,具备良好的编程实践能力;(2)掌握算法分析方法,能够评价算法优劣,进行算法优化;(3)能够运用数据结构进行问题建模,提高问题解决效率。

3. 情感态度价值观目标:(1)激发学生对计算机科学的兴趣,培养其探索精神和创新意识;(2)培养学生团队合作意识,学会与他人共同解决问题;(3)增强学生的责任感和使命感,使其认识到数据结构在信息技术发展中的重要性。

本课程针对高中年级学生,结合学科特点和教学要求,将目标分解为具体的学习成果,为后续教学设计和评估提供依据。

课程注重理论与实践相结合,旨在提高学生的知识水平、技能素养和情感态度价值观。

二、教学内容《数据结构》教学内容依据课程目标进行选择和组织,确保科学性和系统性。

主要包括以下部分:1. 线性表:- 线性表的定义、特点和基本操作;- 顺序存储结构、链式存储结构及其应用;- 线性表的相关算法,如插入、删除、查找等。

2. 栈和队列:- 栈和队列的定义、特点及基本操作;- 栈和队列的存储结构及其应用;- 栈和队列相关算法,如进制转换、括号匹配等。

3. 树和二叉树:- 树的定义、基本术语和性质;- 二叉树的定义、性质、存储结构及遍历算法;- 线索二叉树、哈夫曼树及其应用。

4. 图:- 图的定义、基本术语和存储结构;- 图的遍历算法,如深度优先搜索、广度优先搜索;- 最短路径、最小生成树等算法。

5. 排序和查找:- 常见排序算法,如冒泡、选择、插入、快速等;- 常见查找算法,如顺序、二分、哈希等。

《数据结构课程设计》指导书

《数据结构》课程设计指导书沈阳理工大学.信息学院2013.11.1一.目的与意义软件设计能力对计算机专业的学生是很重要。

通过数据结构的学习,使学生对软件编程能力有一定的提高。

数据结构课程设计是锻炼学生在进一步掌握模块化、结构化程序设计的方法的同时,培养学生运用已学知识分析问题、解决问题及编写实用程序的能力,通过对线性化、层次化、网络化数据结构的了解进一步掌握自然数据的结构方式及组织方式,让学生深入体会存储在计算机中的数据及程序中如何运用数据实现编程。

主要目的如下:1.通过本课程设计使学生对面向对象的设计过程有初的认识,并对面向对象的高能语言的学习打下基础,2.通过不同类型的程序设计使学生进一步掌握数据的几种不同的组织和存储方式,为高级编程做准备,3.为专业课的深入学习和毕业设计打基础二.任务和要求分析每一组题目,按要求完成相应的题目:1.题目参照附录中《数据结构课程设计》题目选题。

2. 要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果5)写出实验总结3.课程设计说明书设计完成后,将自己选定的题目按上述要求完成课程设计说明书。

课程设计说明书内容包含:题目、要求、初步设计(可以是流程图、功能模块图)、详细设计、程序代码、测试数据、运行结果、遇到的问题及总结几部分。

三.进度安排设计总学时为2周第一周:查阅资料、小组讨论、进行模块划分写出分析报告,画N-S结构化框图,编写程序清单,上机调试.第二周周四、五:验收(计算机机房),并将课程设计报告交上来.四.考核标准与成绩评定方式成绩评定有如下几项参考:1.初步设计内容的考核:是否有查阅资料能力?是否有设计思想?2.程序编码能力调试能力的考核:程序是否清晰、易读?在技算计上是否可独立完成程序的调试,是否熟练?3.说明书质量的考核:设计结构是否合理?叙述是否正确?方案是否可行?4.答辩:设计结果的调试能力,对自己设计是否熟练?5.出勤率极平时表现的考核:出勤超过2次不到者成绩为不及格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》课程设计任务书学期:10-11-2 班级:网络09一、设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、设计要求1、通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

2、学生必须仔细研读《数据结构》课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。

3、本次课程设计按照教学要求需要在一周半时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时地向指导教师汇报。

4、编程语言任选。

三、设计选题说明:课程设计题目主要分为两大类:一是基础类题,主要是验证性题,少数是简单的综合性题,侧重考查学生对数据结构课程中重要数据结构和算法的理解与掌握程度,相对较简单;本类题目选题要求:要求个人所选题目必须独立完成,不得合作;原则上不得参考别人的程序,若个人能力有限必须参考,参考成分不得超过30%,其中参考部分自己必须能消化吸收,否则无效;为培养学生分析问题、解决问题的实际动手能力和团队协作能力,鼓励有能力的学生尽可能选作第二类题目,故选作第一类题目的学生,无论完成多少题目,原则上最高分不超出90分。

二是提高类题,主要是设计性题,侧重考查学生综合能力,包括营火利用所学知识(主要是数据结构和算法等相关知识)去分析问题、解决问题的实际动手能力以及团队协作精神和协调能力;题目相对较难,多数题目无现成算法,考验学生的创新能力和综合素质。

本类题目选题要求:每个题目的可以有2名同学组成一个2人小组共同协作完成(可以自由组队),2人分工负责程序编写、测试以及实验报告撰写工作。

程序员、测试员、文档员的工作难度不同,其工作的分数分配也应不同,原则上每人至少(必须)在每个题目中将三种角色分别成功体验一遍,才能及格分,每个队至少做9题(每位队员至少做2题)有能得到满分100,建议每队做9题以上。

一〉.基础类题目选题说明:一个*的题代表10分,两个*的代表20分,三个*的题代表30分,四个*的题代表50分。

根据实际选做题目的分值和数量以及实现程序的完善性可以适当加减分;同学们在选题时,要结合个人实际情况,保障及格,力争多做。

1、散列表的设计与实现(**)任务:设计散列表实现电话号码查找系统。

要求:(1) 设每个记录有下列数据项:用户名、电话号码、地址;(2) 从键盘输入各记录,以用户名(汉语拼音形式)为关键字建立散列表;(3) 采用一定的方法解决冲突;(4) 查找并显示给定电话号码的记录;选作内容:(1) 系统功能的完善;(2) 设计不同的散列函数,比较冲突率;(3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

2、迷宫求解(*)任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;3、文章编辑(*)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共N行;要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;4、猴子选大王(*)任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1--m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

要求:(注:分别顺序存储结构和链式存储实现)输入数据:输入m,n。

m,n 为整数,n<m输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能5、线索二叉树(**)任务:1.建立中序线索二叉树,并且中序遍历;2. 求中序线索二叉树上已知结点中序的前驱和后继;6、基数排序(**)任务:假设有n个待排序记录,记录Ri 的关键字为Keyi, Keyi由d位十进制数字组成,即Keyi =Ki1 Ki2 Ki3… Kid ,试分别采用链式存储结构和顺序存储结构实现基数排序。

提示:为提高基数排序效率,采用顺序储结构的方式可以仿造稀疏矩阵转置中的交换方法实现。

7、运动会分数统计(**)任务:参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。

(m<=20,n<=20)功能要求:(1)可以输入各个项目的前三名或前五名的成绩;(2)能统计各学校总分,(3)可以按学校编号、男女团体总分排序输出;(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

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

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;相关数据结构(参考):项目名次及分值:用二位数组Score[m+w][5];单项获奖情况登记表(项目编号,获奖名次、获奖学校,得分(自动得分))学校获奖名次表(学校编号,团体总分,名次)测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;8、宿舍管理查询软件(**)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)可以增加、删除、修改信息(3)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)(4) 查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询(5) 打印任一查询结果(可以连续操作)要求:上述查询功能中,学号、房号用折半查找,姓名查找用哈希查找。

9、最小生成树问题(*)【问题描述】若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。

如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。

【系统要求】1.利用克鲁斯卡尔算法求网的最小生成树。

2.利用普里姆算法求网的最小生成树。

3.要求输出各条边及它们的权值。

【测试数据】由学生任意指定,但报告上要求写出多批数据测试结果。

【实现提示】通信线路一旦建成,必然是双向的。

因此,构造最小生成树的网一定是无向网。

设图的顶点数不超过30个,并为简单起见,网中边的权值设成小于100的整数,可利用C语言提供的随机函数产生。

图的存储结构的选取应和所作操作相适应。

为了便于选择权值最小的边,此题的存储结构既不选用邻接矩阵的数组表示法,也不选用邻接表,而是以存储边(带权)的数组表示图。

【选作内容】利用堆排序实现选择权值最小的边。

10、平衡二叉排序树的实现(**)【系统要求】(1)用二叉链表作存储结构,以回车('\n')为输入结束标志,输入数列L,生成一棵平衡的二叉排序树T,并以直观的方式显示在终端上;(2)对二叉排序树T作中序遍历,输出结果;(3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”,并将x插入该二叉排序树中。

注意:插入、删除应保证二叉排序树的平衡性。

11、停车场管理(**)任务:设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。

汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。

试为停车场编制按上述要求进行管理的模拟程序。

要求:以栈模拟停车场,以队列模拟车场外的便道。

每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。

对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。

栈以顺序存储结构实现,队列以链表结构实现。

12、排序综合(*)利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:(1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。

并把排序后的结果保存在不同的文件中;(2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法;(3)统计每种算法所用的比较次数和交换次数,最后列表显示;(4)如果采用4种或4种以上的方法者,可适当加分。

13、校园导游咨询(***)任务:设计一个校园导游程序,为来访的客人提供各种信息查询服务。

要求:(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

相关文档
最新文档