《算法与数据结构》课程设计题目
学生从下列题目中自主选择任意一个题目,集中在一周之内(共24学时),完成设计和调试任务。
题目一:
图结构及其应用:熟悉图的各种存储结构(特别是邻接矩阵和邻接表)。设计一个交通咨询系统,用两种方法求得最短路径。此外建立一个AOE网,求得关键路径。
题目二、
航班信息的查询与检索:综合利用排序和查找的方法进行设计,可以涉及到文件的一般概念。
题目三、
实现图书管理信息系统的设计。这是一个数据结构的综合使用,涉及的知识比较全面,特别是对文件的使用更为全面。
题目四:
二叉搜索树:各种搜索树效率比较
题目要求:本题目要求对普通的二叉搜索树、A VL树分别实现指定操作,并分析比较这二种不同数据结构对应的一系列插入和删除操作的效率。要求测试对N个不同整数进行下列操作的效率:
●按递增顺序插入N个整数,并按同样顺序删除;
●按递增顺序插入N个整数,并按相反顺序删除;
●按随机顺序插入N个整数,并按随机顺序删除;
要求N从1000到10000取值,并以数据规模N为横轴,运行时间为纵轴,画出二种不同数据结构对应的操作效率比较图。
题目五:
并查集:检查网络
题目要求:给定一个计算机网络及机器间的双向连线链表,每一条连线允许两端的计算机进行直接的文件传输,其他计算机若存在一条连线路径,也可以进行间接的文件传输。请设计算法和程序进行判断:任意指定两台计算机,它们之间是否可以进行文件传输?
输入要求:输入由若干组测试数据组成。对于每一组测试,第1行包含一个整数N(≦10000),即网络中计算机的总台数,因而每台计算机可用1到N之间的一个正整数表示。接下来的几行输入格式为I C1 C2或者C C1 C2或者S,其中C1和C2是两台计算机的序号,I表示在C1和C2间输入一条连线,C表示检查C1和C2间是否可以传输文件,S表示该组测试完毕。
输出要求:对每一组C开头的测试,检查C1和C2间是否可以传输文件,若可以,则在一行中输出“yes”,否则输出“no”。当读到S时,检查整个网络。若网络中任意两台机器间都可以传输文件,则在一行中输出“The network in connected,”,否则输出“There are k components.”,其中k是网络中连通集的个数。两组测试数据之间请输出一空行分隔。
题目六: