数据结构课程设计 十万火急啊!!!

一、哈夫曼编/译码器
? 问题描述
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对待传数据预先编码,在接受端将传来的数据进行译码(复原)。对于双工信道,每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。(模拟系统)
? 基本要求
一个完整的系统应具有以下功能:
⑴初始化:从键盘输入待编码的字符串,统计该字符串的字符集、字符集大小n及每个字符出现的频度(权值),建立对应的哈夫曼树及哈夫曼编码表。
⑵编码:利用已建好的哈夫曼树及哈夫曼编码表,对该字符串进行编码,并将结果存入相应数组。
⑶译码:从键盘输入待译码的字符串(0、1组成),利用已建好的哈夫曼树及哈夫曼编码表,对其进行译码,并将结果存入相应数组。
⑷执行程序相应功能时,应在屏幕上输出必要的提示信息,并将相应的结果输出。(如哈夫曼树、编码表、编码结果、译码结果)。
二、图书管理系统
? 问题描述
设计一个计算机管理系统完成图书管理基本业务。
? 基本要求
(1)每种书的登记内容包括书号、书名、著作者、现存量和库存量。
(2)对书号建立索引表(线性表或树表)以提高查找效率。
(3)系统主要功能如下:
*新书入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加。
*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量。
*归还:注销对借阅者的登记,改变该书的现存量。
三、散列表设计
? 问题描述
散列表的设计与实现。
? 基本要求
(1) 设每个记录有下列数据项:电话号码、用户名、地址;
(2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
(3) 采用双重散列法或拉链法解决冲突;
(4) 查找并显示给定电话号码的记录;
(5) 查找并显示给定用户名的记录。
四、最短路径问题
? 问题描述
交通网络中常常提出这样的问题:两地之间是否有路相通?在有多条通路的情况下,哪一条最短?以上问题就是带权图中求最短路径的问题。
? 基本要求
⑴用Dijkstra算法求最短路径,图中的顶点数n不得少于10个。
⑵用户输入源点和目标点后,程序应输出源点到目标点的最短路径,并计算出途中所需时间或花费的交通费用。
五、内部排序算法的比较
? 问题描述
在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。
? 基本要求
⑴对以下6种常用的内部排序算法进行比较:直接插入排序、直接选择排序、冒泡排序、希尔排序、堆排序、快速排序
⑵待排序表的表长不小于100,其中的数据可用随机函数产生;至少要用5组不同的输入数据作比较,比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计3次移动)
⑶执行相应排序算法时,应在屏幕上输出必要的提示信息及排序的结果。最后要输出一个各种排序算法的关键字比较次数和移动次数对比表,并对结果做出简单分析。
要用C语言和数据结构编写,不能用其他语言。算法不要求最好,但是要简单容易理解
每一个步骤最好有注释

谢谢各位高手了!!!

第1个回答  2008-12-29
设每个记录有下列数据项:电话号码、用户名、地址;
(2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
(3) 采用双重散列法或拉链法解决冲突;
(4) 查找并显示给定电话号码的记录;
(5) 查找并显示给定用户名的记录。
四、最短路径问题
? 问题描述
交通网络中常常提出这样的问题:两地之间是否有路相通?在有多条通路的情况下,哪一条最短?以上问题就是带权图中求最短路径的问题。
? 基本要求
⑴用Dijkstra算法求最短路径,图中的顶点数n不得少于10个。
⑵用户输入源点和目标点后,程序应输出源点到目标点的最短路径,并计算出途中所需时间或花费的交通费用。
五、内部排序算法的比较
? 问题描述
在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。
? 基本要求
⑴对以下6种常用的内部排序算法进行比较:直接插入排序、直接选择排序、冒泡排序、希尔排序、堆排序、快速排序
⑵待排序表的表长不小于100,其中的数据可用随机函数产生;至少要用5组不同的输入数据作比较,比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计3次移动)
⑶执行相应排序算法时,应在屏幕上输出必要的提示信息及排序的结果。最后要输出一个各种排序算法的关键字比较次数和移动次数对比表,并对结果做出简单分析
第2个回答  2008-12-30
太难了.