算法设计技能训选题
算法设计技能训练选题表算法设计技能训练选题表 一、选题原则一、选题原则 选题的根本原则是数据结构算法实现及在具体问题中的应用。可选择下列与实际应用紧密 结合的较综合性的题目,并且鼓励自选题目(自选题必须通过任课教师认可) 。要求通过课程设 计的实践,在数据结构的表示、数据结构的选择及应用、算法设计与实现等方面加深对数据结 构课程基本内容的理解和综合运用能力的提高。 选题分组:一人一组,题目多少不限,但是代码编写量有限制,计算机(单招) :650 行,计算 机(3+4) :650 行;计算机(NIIT) :至少 800 行。 二、待选题目二、待选题目 1.1. 学生运动会成绩管理学生运动会成绩管理 功能:学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的 情况,包括 50、100、200,400,1500 米,跳高,跳远,标枪,铅球铁饼等。进入系统后可以 输入和修改某个项目的结果情况,可以按各系院编号输出总分;按总分排序;按男团体总分排 序 ;按系院编号查询;按项目编号查询;按女团体总分排序。 分步实施:初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:建立一个文件,包括某个系,5 个项目的得分情况,能对文件中的信息进行扩 充(追加) ,修改和删除; 进一步要求:完成对多个系,多个项目的得分排序,以及完成系统查询功能。有兴趣的同学可 以自己扩充系统功能。 键盘输入:系院数目,男子项目数女子项目数, (每项目取前三名,分别为10,5,2 分) 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 要提供程序测试方案 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 2.2. 哈夫曼树应用哈夫曼树应用 功能: 1.从终端读入字符集大小 n,以及 n 个字符和 n 个权值,建立哈夫曼树并将它存于文 件 hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上; 2.利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入) ,对文件ToBeTran中的 正文进行编码,然后将结果存入文件CodeFile 中,并输出结果,将文件CodeFile 以紧凑格式先 是在终端上,每行 50 个代码。同时将此字符形式的编码文件写入文件CodePrint 中。 3.利用已建好的哈夫曼树将文件CodeFile 中的代码进行译码,结果存入文件 TextFile中,并输 出结果。 分步实施: 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:完成功能1; 进一步要求:完成功能 2 和 3。有兴趣的同学可以自己扩充系统功能。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 要提供程序测试方案 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 3.3.图的遍历图的遍历 功能:实现图的深度优先, 广度优先遍历算法,并输出原图结构及遍历结果。 分步实施: 1)初步完成总体设计,搭好框架; 完成最低要求:两种必须都要实现,写出画图的思路; 进一步要求:画出图的结构,有兴趣的同学可以进一步改进图的效果。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 要提供程序测试方案 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 4. n4. n 维矩阵乘法:维矩阵乘法:A BA B--1 1 功能:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b 的内容,并输出两个矩阵, 输出 ab-1 结果。 分步实施:初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:建立一个文件,可完成2 维矩阵的情况; 一步要求:通过键盘输入维数n。有兴趣的同学可以自己扩充系统功能。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 4)要提供程序测试方案 5) 程序一定要经得起测试, 宁可功能少一些, 也要能运行起来, 不能运行的程序是没有价值的。 5.5. 数组应用数组应用 功能: 按照行优先顺序将输入的数据建成4 维数组,再按照列优先顺序输出结果,给出任意处 的元素值,并给出对应的一维数组中的序号。 分步实施: 1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:完成第一个功能; 进一步要求:进一步完成后续功能。有兴趣的同学可以自己扩充系统功能。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 4)要提供程序测试方案 5) 程序一定要经得起测试, 宁可功能少一些, 也要能运行起来, 不能运行的程序是没有价值的。 6.n6.n 元多项式乘法元多项式乘法 功能: 完成两个 n 元多项式作乘法,给出明确的等式形式。 分步实施:初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:建立一个文件,实现两个一元二次多项式作乘法。 进一步要求:实现三元二次多项式的乘法。有兴趣的同学可以自己扩充系统功能。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 4)要提供程序测试方案 5) 程序一定要经得起测试, 宁可功能少一些, 也要能运行起来, 不能运行的程序是没有价值的。 7.7.集合运算集合运算 功能: 使用链表来表示集合,完成集合的合并,求交集等操作。 分步实施: 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求: 进一步要求: 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 4)要提供程序测试方案 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 8.8.公园的导游图公园的导游图 功能:给出一张某公园的导游图,游客通过终端询问可知: 从某一景点到另一景点的最短路径。游客从公园大门进入,选一条最佳路线,使游客可以不重 复地游览各景点,最后回到出口(出口就在入口旁边) 。 分步实施: 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:建立一个文件,包括5 个景点情况,能完成遍历功能; 进一步要求:进一步扩充景点数目,画出景点图,有兴趣的同学可以自己扩充系统功能。 要求:1)界面友好,函数功能要划分好 2)总体设计应画一流程图 3)程序要加必要的注释 4)要提供程序测试方案 5) 程序一定要经得起测试, 宁可功能少一些, 也要能运行起来, 不能运行的程序是没有价值的。 9.9. 商店存货管理系统商店存货管理系统 功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的 货物。 分步实施: 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 完成最低要求:建立一个文件,包括5 个种类的货物情况,能对商品信息进行扩充(追加) ,修 改和删除以及简单的排序; 进一步要求:扩充商品数量,以及完成系统