二、题目:
根据下列范围进行选择,组合成4道以上题目,其中必做3题,其余为选做题。
1. 线性表类(必做)
题目:通讯录的制作
设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。
[问题描述]
设计一个系统,该系统应完成一下几方面的功能:
1)输入信息——enter();
2)显示信息———display( );
3)查找以姓名作为关键字 ———search( );
4)删除信息———delete( ); 5)存盘———save ( );。
[基本要求]
(1)每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项;
(2)作为一个完整的系统,应具有友好的界面和较强的容错能力;
(3)上机能正常运行,并写出课程设计报告。
2. 图类(必做)
题目:社交网络图实现
[问题描述]
设计并实现一种简单的社交网络模型图(人数>=10)。
[基本要求]
(1) 每个人的信息是一个结点,人与人的联系构成边。个人信息里要有地理坐标信息,以便后续应用中能方便找靠近的人。
(2) 根据输入的任意两个人信息,给出他们之间的联系路径,最少经过多少人构成联系。
(3) 根据位置信息的动态变化,找寻附近能够联络的人,能够通过1次中间人能联络的人等。
(4) 可根据自己的创意添加更多的功能。
3. 小型信息系统类(必做)
[问题描述]
设计一个计算机管理系统完成图书管理基本业务。
[基本要求]
(1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
(2)从键盘或文件输入各记录,以书号为关键字建立散列表,以提高查找效率;
(3)采用开放定址的方法解决冲突;
(4)系统主要功能如下:
采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
归还:注销对借阅者的登记,改变该书的现存量;
查询:根据给定ISBN号,能够查询该书在图书馆的状态(在馆,借出)。
4. 排序类 (选做题)
题目:排序算法比较
[问题描述]
利用随机函数产生N个随机整数(N = 500,1000,1500,2000,2500,…,30000),利用直接插入排序、折半插入排序,起泡排序、快速排序、选择排序、堆排序,基数排序七种排序方法(可添加其它排序方法)进行排序(结果为由小到大的顺序),并统计每一种排序所耗费的时间(即比较次数)。
[基本要求]
(1) 原始数据存在文件中,每个整数一行,方便读入;
(2) 屏幕显示每种排序所花的比较次数。