当前位置:天才代写 > C++/C代写,c语言代写代考-100%安全,包过 > 代写CS之C语言《数据结构Data Structure》VC++编程

代写CS之C语言《数据结构Data Structure》VC++编程

2018-07-11 08:00 星期三 所属: C++/C代写,c语言代写代考-100%安全,包过 浏览:825

 

《数据结构》课程设计

 

指导书

 数据结构课程设计要求

 

1 课设需完成的题目:

[1] 一元多项式运算问题

[2] 学生学籍管理系统

[3] 通讯电文压缩处理问题

[4] 最佳旅游路线规划问题

[5] 图书租借管理问题

[6] 网络布线问题

 

 

学号尾号为偶数的同学,请完成[1][3]课题;学号尾号为奇数的同学,请完成

[2][4]课题。

在完成了上述 2 个必做课题后,【5】【6】题为选做题,有精力的同学可以完成一个或两个,有加分。

 

2 课设目的:

1) 通过课程设计实践,掌握常用数据结构的定义以及基本操作;

2) 熟练进行 VC++编程;

 

 

3 内容与具体要求:

1) 每位同学按照自己的学号根据题目进行程序设计。编程时请注意:尽量不要把所有程序代码写在一个.cpp 文件中。要求.h 头文件存放数据结构的定义;.cpp 文件存放算法实现代码以及 main( )函数。

2) 提交运行的软件系统――每完成一个小程序,当即检查代码运行情况。在机房检查程序;

3) 撰写课程设计报告:

要求写出系统的主要功能和使用说明;写出主要模块实现的代码,并给出详细解释;给出系统操作过程的截图;写出心得和体会,包括已解决和尚未解决的


问题、进一步完善的设想与建议。

 

 

――7 9 日(周一)11:30 之前提交书面报告。

 

 

4) 课设报告:报告要求正反面双面打印。格式参见《课程设计报告样本.doc

 

 

4课程设计时间安排:2 学分,32 学时)

 

 

19

周一

7 2

周二

7 3

周三

7 4

周四

7 5

周五

7 6

 

 

上午

8:00-11:45

下午

13:30-16:30

 

(1-5)(6-9)

设计代码地点:计算中

心机房

 

(1-5)(6-9)

 

设计代码检查程序

 

(1-5)(6-9)

 

设计代码检查程序

 

(1-5)

 

设计代码检查程序

 

地点:计算中心机房

地点:计算中

心机房

地点:计算中

心机房

 

20

周一

7 9

周二

7 10

周三

7 11

周四

7 12

周五

7 13

 

(1-5)

 

 

 

 

 

 

 

设计代码

上午

检查程序

8:00-11:45

下午

 

课设答辩

13:30-16:30

交报告

地点:实验楼

10 楼 1006 理

综实验室

 

 

上机地点:小营校区图书馆楼 7 楼计算中心


课设题目介绍:


 

一元多项式运算问题

两个一元多项式均采用(带有头结点的单链表形式存放。编程求解一元多项式加、减法问题。

提示:程序实现时,可能用到的函数有

void InitList(LinkList &L); //初始化一个空链表void CreatList(LinkList &,int); //生成一个单链表void LinkList_reverse(LinkList &);//单链表逆置

void ListPrint(LinkList); //显示单链表所有元素void PolyAdd(LinkList &c, LinkList a, LinkList b);  void PolySubstract(LinkList &c, LinkList a, LinkList b); bool InsertAfter(LinkList &L, ElemType e);

bool DeleteAfter(LinkList &L, ElemType &e);

链表定义可以参考

typedef struct

{ float coef;  //系数域int expn; //指数域

}ElemType; typedef struct node

{ ElemType data;

struct node *next;//指向下一个节点的指针

}LNode,*LinkList;

 

 

 

 

学生学籍管理系统

请利用单链表结构,编程实现一个学生学籍管理系统,该系统可以实现学生信息的添加、查找、删除、插入和显示功能。


程序功能包括:

[1] 定义学生信息结构(参考后面的“提示”信息)

[2] 编写显示信息模块(显示学生所有信息)

[3] 编写添加模块 3 种添加操作,可以将学生信息添加到单链表的首部、末尾、或插入到指定位置,非法位置要给必要提示信息

[4] 编写查找模块按照姓名查找学生信息,若有重名的学生,则显示多个同名学生信息,非法位置要给必要提示信息

[5] 编写删除模块(按照学号删除一名学生信息,非法位置要给必要提示信息

[6] 编写主模块调用上面的各个功能模块。

 

 

提示:链表定义可以参考

typedef enum {XJ, DJ, TJ } ClassKind;

//定义“专业”枚举类型,分别为信计、电技、统计。

//在进行程序输入时,用 012 表示这四种专业类型,即输入 0 表示“信计”业;但调用输出函数时,不能只输出 0,而应该输出其含义,即“信计” typedef struct

{ char No[10];  //学生学号char name[20];  //姓名ClassKind major; //专业float GPA; //绩点

}DATA; //数据结点类型typedef struct Node

{ DATA data;

struct Node *next;

}ChainListType;

 

 

 

 

通讯电文压缩处理问题

数据压缩是一个减小数据存储空间的过程,它是信息理论最重要的成果之


一。广义上,数据压缩的方法分为两大类:有损压缩和无损压缩。在有损压缩中, 我们接受数据有一定的损失来换取更大的压缩比,如图像处理和音频处理,因为这种损失是可接受的,不会影响其效果。然而,我们通常使用的是无损压缩,它能保证解压缩时准确地还原原始数据。

最小冗余编码是无损压缩的一种常用的、主要的方法。它使用更少的位对出现更为频繁的字符进行编码,用较长的位对出现频率较低的字符进行编码。哈夫曼编码是一种最古老而最优雅的数据压缩方法,它是一种基于最小冗余编码的压缩算法。

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:

1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符, 压缩后的字符串还是"abcbc"

2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz" 压缩后就成为"3x6yz",并试着为这些单词设计哈夫曼编码,以此减少数据需要的存储空间。

 

提示:数据结构定义可以参考如下

typedef struct

{ int weight; //结点权值

int parent, lchild, rchild; //结点的父指针,左右孩子指针

}HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树typedef struct {

char ch //存储单词

char bits[n+1] //存放编码位串 n 为哈夫曼树中叶子结点个数

}CodeNode

typedef CodeNode *HuffmanCode //动态数组存储哈夫曼编码表

【测试数据】

1必做待编码数据为{CAS;CAT;SAT;AT},可以手工统计每个字符的出


现次数,即输入数据为:

image.png

 

则输出的编码结果应该是:

image.png

 

 

2(选做)输入数据为

image.png

编程统计为:

image.png

输出的编码结果是:

image.png

 

 

最佳旅游路线规划问题

问题描述:如今的道路密度越来越大,收费道路也越来越多,因此选择最佳路径是很现实的问题。城市的道路是双向的,每条道路有固定的旅行时间以及所需支付的费用。路径是由连续的道路组成。总时间是各条道路旅行时间的和,总费用是各条道路所支付费用的总和。同样的出发地和目的地,如果路径 A 比路 B 所需时间少且费用低,那么我们就说路径 A 比路径 B 好。对于某条路径, 如果没有其他路径比它好,那么该条路径被称为最优路径。

下图给出了城市间旅行时所需的旅行时间等信息,请计算从北京出发,到其他所有城市的最优路径,及路径上所需的旅行时间总和。

image.png

 

要求:建立无向网时,从 Dijstra.txt 文件中读取数据建立无向网。

image.png

 

 

输出结果:

1(必做)输出格式为旅游的起始、终止点,以及时间总和

如:从北京出发,终点为广州,最佳路线是直达的,则输出结果应该为:北京->广州,旅行时间和为 15

若从北京出发,终点为太原,最佳路线需要经过天津到达,则输出结果为: 北京->太原,旅行时间和为 6

2(选做)输出格式为旅游的起始、中间中转点、终止点,以及时间总和” 如从北京出发,终点为太原,最佳路线需要经过天津到达,则输出结果为:


北京->天津->太原,旅行时间和为 6

 

 

 

 

图书租借管理问题

某书屋有各类图书,每一本图书均有书名、作者名、出版社、分类号等信息, 为了便于管理排序,以书名(字符串形式存储为关键字,采取二叉排序树的形式存储。

顾客来租借图书时,需要先查询,若此图书在架则可以借走;若此图书没有库存,则马上进货,并入库存放。请编程实现此书屋的图书租借系统。

要求:初始情况二叉排序树为空,建立二叉排序树时,从 BST.txt 文件中读取数据建立二叉排序树。如:

image.png

每次借走一本书,或入库一本书后,需要重新打印此二叉排序树查看结果。

 

 

 

 

网络布线问题

问题描述:已知某乡镇管辖的村庄都是有路可通的,且相邻村庄间的公路长度已知。现在要沿着公路铺设网线,使得各村之间都可以上网,应该怎样布线才能使所用的网线最少?


image.png 

 

 

要求:建立无向网时,从 MST.txt 文件中读取数据建立无向网。

image.png

代写CS&Finance|建模|代码|系统|报告|考试

编程类:C++,JAVA ,数据库,WEB,Linux,Nodejs,JSP,Html,Prolog,Python,Haskell,hadoop算法,系统 机器学习

金融类统计,计量,风险投资,金融工程,R语言,Python语言,Matlab,建立模型,数据分析,数据处理

服务类:Lab/Assignment/Project/Course/Qzui/Midterm/Final/Exam/Test帮助代写代考辅导

天才写手,代写CS,代写finance,代写statistics,考试助攻

E-mail:850190831@qq.com   微信:BadGeniuscs  工作时间:无休息工作日-早上8点到凌晨3点


如果您用的手机请先保存二维码到手机里面,识别图中二维码。如果用电脑,直接掏出手机果断扫描。

1513067809116994.png

 

    关键字:

天才代写-代写联系方式