1、 课程设计(论文)任务书 软件软件 学院 XXXX 专业 201XX- X 班 一、课程设计(论文)题目 数据结构课程设计数据结构课程设计 二、课程设计(论文)工作自 20XX 20XX 年 1212 月 XX 日起至 20XX 20XX 年 1212 月 XXXX 日止。 三、课程设计(论文) 地点: XXXX 实训中心实训中心 四、课程设计(论文)内容要求: 1本课程设计的目的本课程设计的目的 (1)使学生熟练掌握抽象数据类型的组织和定义; (2)使学生熟练掌握数据类型的定义和实现; (3)培养学生组织和分析数据的能力; (4)培养学生分析和应用基于不同数据结构的算法的能力; (5)提高学
2、生的科技论文写作能力。 2基本要求:基本要求: 每位同学在以下题目中任选一题(在方框中打勾) ,独立独立完成课程设计: 稀疏矩阵运算:稀疏矩阵运算:实现稀疏矩阵的输入、输出、加减乘的运算。 关键路径:关键路径:求出完成整项工程至少需要多少时间以及整项工程中的关键活动。 (1)能够输入并存储一个描述工程的 AOE 网; (1)对输入的 AOE 网,应判断其是否能够顺利进行; (2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动 所依附的两个顶点、最早发生时间、最迟发生时间。 银行业务模拟:银行业务模拟:参见数据结构教材 P68。 3课程设计论文编写要求课程设计论文编写要
3、求 (1)要按照书稿的规格打印誊写课设报告; (2)报告分为封面、任务书(本文档) 、正文、课程设计体会和参考文献四部分; 学生签名: 年 月 日 2 正正 文文 一、 数据结构定义 1. 抽象数据类型抽象数据类型 本设计中用到的数据结构 ADT 定义如下: ADT Queue 数据对象:D ai | aiElemSet, i=1,2,.,n, n0 数据关系:R1 |ai-1, aiD, i=2,.,n 基本操作: void init_Q(Queue 操作结果:构造空队列 Q int Q_empty(Queue Q); 初始条件:队列 Q 存在 操作结果:若 Q 为空队列,则返回 TRUE,
4、否则 FALSE int Q_length(Queue Q); 初始条件:队列 Q 存在 操作结果:返回队列 Q 的元素个数,即队列长度 int gethead_Q(Queue Q); 初始条件:队列 Q 存在 操作结果:返回队列 Q 的队头元素 void en_Q(Queue 初始条件:队列 Q 存在 操作结果:插入元素 e 为 Q 的新的队尾元素。 void de_Q(Queue 初始条件:队列 Q 存在 操作结果:删除 Q 的队头元素。 ADT Queue 3 2. 存储结构定义存储结构定义 数据存储结构的 C 语言定义如下: typedef int Status; /-银行排队模拟 /
5、事件和事件表 typedef struct QCuEvent int OccurTime; int NType; struct QCuEvent *next; QCuEvent, *EventList; /窗口前队列元素 typedef struct QCuElem int ArrivalTime; int Duration; struct QCuElem *next; QCuElem,*QEptr; /窗口指针 typedef struct QEptr front; QEptr rear; QCustomerp,*QCupp; 4 3. 基本操作基本操作 数据结构的基本操作实现如下: /基本
6、操作函数 Status OrderInser(EventList /按时间顺序插入事件到事件表 int QLength(QCustomerp qn);/求窗口队列长度 int MinCuQueue(QCupp q);/求队最短的窗口 Status DelFirstEvent(EventList /删除事件表中的第一个事件 Status InitCuQueue(QCustomerp /初始化窗口队列 Status EnCuQueue(QCustomerp /进入队列 Status DeCuQueue(QCustomerp /删除队列中的元素 Status GetQHead(QCustomerp qn,QCuElem /获得队列中的第一个元素 Status DestoryQueue(QCustomerp qn);/销毁队列 void Ptint_QStatus(QCustomerp