资源描述
数据结构课程设计可选题目1. 飞机订票系统任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一 个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航 班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以 输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结 构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;若没有订到票, 可以记录等待客户的信息:姓名、联系方式、所需航班号、所需票数;退票:可退票, 退票后修改相关数据文件;若有客户等待此航班的票,则将票给等待客户;客户资料有姓 名,证件号,联系方式、订票数量及航班情况,订单要有编号。修改航班信息:当航班信 息改变可以修改航班数据文件。要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。2. 文章编辑功能:(1)静态存储一页文章,每行最多不超过80个字符,共N行;用线性表实现。( 2)字数统计:分别统计出其英文字母数、数字个数和空格数及整篇文章总字数;(3)查找:统计某一字符串在文章中出现的次数及出现位置,并输出该次数,和每一 个出现位置;(4)删除:删除某一字符串,并将后面的字符前移。( 5)插入:向某行某位置之前插入一个字符串,若插入后该行超过 80 个字符,则将该 行拆分成两行;( 6)输出:可以输出文章内容。要求:人机交互界面。3. 宿舍管理查询软件任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: 功能:1)建立宿舍学生记录数据文件,每个房间不超过 8 人,宿舍人员的记录除包含姓名、学号、 房间号之外,其他数据项自行设计。默认按房间号递增排列。2)实现按关键字排序(如按姓名、学号、房间号),排序方法可以在(插入、选择、交换 排序中任选一种)3)增加、删除学生记录。4)查询(用二分查找实现以下操作)。A. 按姓名查询B. 按学号查询C. 按房号查询要求:采用交互工作方式,设计合适的菜单4. 校园导航问题任务 :设计你的学校的平面图,至少包括 10个以上的场所,每两个场所间可以有不同的路, 且路长也可能不同,为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的 一条最短路径。5. 教学计划编制问题任务:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开 设)制定课程安排计划。要求:A)、输入参数包括:学期总数、课程信息(每门课包括课程编号、课程名称、学分和直接先 修课的课程名)。B)、允许用户指定下列两种编排策略之一:一是使课程尽可能地集中在前几学期中;二是使 各学期课程数目大致相同。6. 图书借阅管理系统主要功能:1)、每种书的登记内容包括书号、书名、著作者、现存量和库存量;2)增加图书:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库 存量增加;3)删除图书: 4)查询图书:可以按书号、书名、著作者进行查询;5)借阅图书:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限, 改变现存量;6)图书归还:注销对借阅者的登记,改变该书的现存量。7. 通讯录的制作设计目的:编写一个通讯录管理系统。设计任 务 : 本 系统应完成几 方 面 的功能: 1) 输入信 息 enter();2) 显 示 信息 display( );3) 查 找 ( 以 姓 名 作 为 关 键 字 ) search( );4) 删 除 信 息 delete( );5) 存盘save ( );6) 装入load();设计要求:1)每条信息至包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP) 国家(STATE)几项;2)作为一个完整的系统,应具有友好的界面和较强的容错能力;3)上 机能正常运行。8. 最小生成树问题(见习题集P152,5.6要求)9. 树形打印二叉树功能:( 1 )建立二叉树( 2)树形打印二叉树10. 航空客运订票系统(见习题集 P101:2.7 要求)11. 哈夫曼编码/译码器见习题册P149,实习题目5.2要求。12. 背包问题的求解(8)假设有一个能装入总体积为T的背包和n件体积分别为w1 , w2,,wn的物品,能 否从n件物品中挑选若干件恰好装满背包,即使w1 +w2 + wn=T,要求找出所有满足 上述条件的解。例如:当T=10,各件物品的体积1, 8, 4, 3, 5, 2时,可找到下列4组 解:(1, 4, 3, 2)(1, 4, 5)( 8, 2)(3, 5, 2)。 提示:可利用回溯法的设计思想来解决背包问题。首先将物品排成一列,然后顺序选取 物品装入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品, 若该件物品太大不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余 的物品中找不到合适的物品以填满背包,则说明刚刚装入背包的那件物品不合适,应将 它取出弃之一边,继续再从它之后的物品中选取,如此重复,直至求得满足条件的解, 或者无解。由于回溯求解的规则规则是后进先出因此自然要用到栈。
展开阅读全文