回 帖 发 新 帖 刷新版面

主题:江湖救急!就剩一天时间了!谢谢大哥大姐们!

一、    课程设计的目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、    课程设计步骤
1、    问题分析和任务定义;
2、    数据类型和系统设计;
3、    编码实现和静态检查;
4、    上机调试;
5、    总结和整理课程设计报告。
三、数据结构课程设计的具体内容
  本次课程设计完成如下模块(共16个模块,学生可以在其中至少挑选3个功能块完成,但有**号的模块是必须选择一个,多做可以加分)
  1、 运动会分数统计**
  任务:参加运动会有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语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
  2、 一元多项式计算(加、减)
    提示:
    (1)一元多项式的表示问题:对于任意一元多项式:
    Pn(x):P0+P1X1+P2X2+…+PiXi+…+PnXn
    可以抽象为一个由“系数-指数”对构成的线性表,且线性表中各元素的指数项是递增的:
    P=((Po,0),(Pl,1),(P2,2),…,(Pn,n))
    (2)用一个单链表表示上述线性表,结点结构为:
    typedef  sturct  node
    {  float  coef;    /*系数域*/
    int    exp;    /*指数域*/
    struct node  *next;    /*指针域*/
)Ploy Node;  
3、 订票系统**
  任务:通过此系统可以实现如下功能:
  1)录入:
      可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
  2)查询:
   可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
  可以输入起飞抵达城市,查询飞机航班情况;
  3)订票:(订票情况可以存在一个数据文件中,结构自己设定)
  可以订票,如果该航班已经无票,可以提供相关可选择航班;
  4)退票: 可退票,退票后修改相关数据文件;
  客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
  5)修改航班信息:
  当航班信息改变可以修改航班数据文件
  要求:
  根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
  4、 迷宫求解
  任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
  要求:
  在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
  5、 文章编辑**
  功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
  静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
  存储结构使用线性表,分别用几个子函数实现相应的功能;
  输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
  输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;
6、 joseph环
  任务: 设编号为1,2,…,n的n个人围坐一圈,约定编号为k(1≤k≤n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 
要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
测试数据:m的初值为20,n=45 ,k=5
输入数据:输入m,n ,k的值,建立单循环链表。    
输出形式:建立一个输出函数,将正确的输出序列

提示:用一个不带头结点的循环链表来处理Josephu问题,先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后被删除结点的下一个结点又从1开始计数,直到最后一个结点从链表中删除,算法结束。
 
  7、 猴子选大王
  任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
  要求:
  输入数据:输入m,n m,n 为整数,n<m
  输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能
  8、 建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)
  任务:
  要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;
9、哈夫曼编码/译码问题**
    利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码。试为这样的信息收发站写一个哈夫曼码的编/译码系统。
    一个完整的编/译码系统应具有以下功能:
    (1)初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmtree中。
    (2)编码。利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入),对文件中的正文进行编码,然后将结果存入文件codefile中。
    (3)译码。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。
    (4)打印代码文件codefile。
    (5)打印哈夫曼树。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上。
10、线索树的建立与遍历
    建立一棵二叉树的中序线索树存储,不用递归,分别对其进行先序、中序和后序遍历,并输出结果。

  11、 纸牌游戏
  任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些?
  12、图的建立及输出
  任务:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。
  13、拓扑排序
  任务:编写函数实现图的拓扑排序。
14、图形结构设计一个校园导游程序,为来访的客人提供各种信息查询服务**
    基本要求:
(1)设计你所在学校的校园平面图,所含场所不少于10个。以图中顶点表示校内各场所,存放场所名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意场所相关信息的查询。
(3)为来访客人提供图中任意场所的问路查询,即查询任意两个景点之间的一条最短的简单路径。
    选作:
    (1)提供图中任意场所得问路查询,即求任意两个场所之间的所有路径。
    (2)校园导游图的场所与道路的修改与扩充功能。
15、查找表**
    1)电话号码查找:设计一个用来快速查找“人名一电话号码”的查找表,并完成根据“人名”来查找相应的电话号码。
    2)模拟图书管理系统:图书管理的基本业务包括对一本书的入库、清除、查询,借出、归还等,设书的内容至少包括书号、书名、著者、库存总量和现存量等。
16、 各种排序**
  任务:用程序实现各种排序。
  
四、上交相关内容要求
  上交的成果的内容必须由以下四个部分组成,缺一不可
  1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);
  2. 上交程序的说明文件:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;
  3. 课程设计报告:(保存在word 文档中,文件名要求 按照"姓名-学号-课程设计报告"起名,如文件名为"张三-101-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
  
课程设计报告规范
课程设计题目

班级       姓名         学号         日期

一、    需求分析
1.    程序的功能;
2.    输入输出的要求;
3.    测试数据。
二、    概要设计
 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。
三、    详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
四、    调试分析
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
五、    使用说明及测试结果
(保存在word 文档中)总结包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。

回复列表 (共1个回复)

沙发

你用来干什么的,作弊吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册