- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计任务书及模板课案
湖南工业大学
课 程 设 计
资 料 袋
商学院 学院() ~ 2017 学年第 学期
课程名称 —C语言描述 指导教师 职称 教授
学生姓名 专业班级 学号
题 目
成 绩 年 月 日~ 年 月 日
序号 材 料 名 称 备 注 1 1 2 3 张 4 5 6 课程设计任务书
20 — 2017 学年第 学期 商学院 学院(系、部) 信息管理 专业 1501-1502 班级
课程名称: 数据结构 (C语言程序描述)
设计题目:
完成期限:自 年 月 日至 年 月 日共 周
1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。
2、设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。
3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;
4、每位同学需提交可独立运行的程序;指导教师(签字): 年 月 日主任(签字): 年 月 日
数据结构课程设计
设计说明书
(题目)
起止日期: 年 月 日 至 年 月 日
学生姓名 班级 成绩 指导教师(签字)
年 月 日1 课程设计内容介绍 5
1.1 题目1 5
1.2 题目2 5
2 数据结构的设计 6
2.1 题目1逻辑结构和存储结构设计 6
2.2 题目2逻辑结构和存储结构设计 6
3 功能模块(或算法)描述 7
3.1 题目1 7
3.1.1流程图 7
3.1.2主要功能模块(函数) 7
3.1.3算法伪代码 7
3.1.4源程序 7
3.1.5程序运行结果及界面 8
3.1.6时间和空间复杂度分析 8
3.2题目2 8
3.2.1流程图 7
3.2.2主要功能模块(函数) 7
3.2.3算法伪代码 7
3.2.4源程序 7
3.2.5程序运行结果 8
3.2.6时间和空间复杂度分析 8
4心得体会 12
参考文献 13
1 课程设计内容介绍
1.1 题目一
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。
1.2 题目二
设计一个算法,求图G中距离顶点v的最短路径长度最大的一个顶点,设v可达其余各个顶点。
2 数据结构的设计
2.1 题目一 逻辑结构和存储结构设计
逻辑结构:线性结构
存储结构:链式结构
假设头指针为LA和LB的单链表分别为线性表LA和LB的存储结构,现在要归并LA和LB得到单链表LC。但是链表节点之间的关系是通过指针指向建立起来的,所以要用链表进行合并不需要另外开辟储存空间,可以直接利用原来两个表的存储空间,合并过程中只需把LA和LB两个表中的节点重新进行链接即可。
合并后的新表使用头指针Lc指向,pa和pb分别是链表La和Lb的工作指针,初始化为相应链表的第一个结点,从第一个结点开始进行比较,当两个链表La和Lb均为到达表尾结点时,依次摘取其中较小者重新链接在Lc表的最后。如果两个表中的元素相等,只摘取La表中的元素,删除Lb表中的元素,这样确保合并后表中无重复的元素。当一个表到达表尾结点,为空时,将非空表的剩余元素直接链接在Lc表的最后。
2.2 题目二 逻辑结构和存储结构设计
3 功能模块(或算法)描述
3.1 题目一
将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。
3.1.1 流程图
1.指针Pa和Pb初始化,分别指向LA和LB的第一个节点。
2.Lc的指针取值为LA的头结点。
3.指针Pc初始化,指向Lc的头结点。
4.当指针Pa和Pb均未到达相应表尾时,则依次比较Pa和Pb所指向的元素值,从LA
文档评论(0)