数据结构课程设计

发布 2022-10-05 02:05:28 阅读 2362

题目一:设计一元稀疏多项式简单计数器。

题目二:集合的交、并和差运算。

班级: 计科1201

姓名: 杜晓燕。

学期:2013-2014学年第二学期。

一、课程题目。

一元稀疏多项式计算器。

二、问题描述。

设计一元稀疏多项式简单计数器。

三、基本要求。

1、输入并建立多项式,输出多项式,序列按指数降序排列;

2、多项式a和b相加,建立多项式a+b,输出相加的多项式;

3、多项式a和b相减,建立多项式a-b,输出相减的多项式;

4、用带表头结点的单链表存储多项式。

四、测试数据。

1、(2x+5x^8-3.1x^11)+(7-5x^8+11x^9)=(3.1x^11+11x^9+2x+7);

2、(6x^-3-x+4.4x^2-1.2x^9+1.2x^9)-(6x^-3+5.4x^2-x^2+7.8x^15

=(-7.8x^15-1.2x^9+12x^-3-x);

3、(1+x+x^2+x^3+x^4+x^5)+(x^3-x^4)=(1+x+x^2+x^5);

4、(x+x^3)+(x-x^3)=0.

五、算法思想。

1、定义线性表的动态分配顺序存储结构;

2、建立多项式存储结构,定义指针*next;

3、利用链表实现队列的构造。每次输入一项的系数和指数,可以输出构造的一元多项式;

4、设计思路分析:

要解决多项式相加,必须要有多项式,所以必须首先建立两个多项式,在这里采用链表的方式存储链表,所以我将结点结构体定义为。

运用尾插法建立两条单链表,以单链表polyn p和polyn h分别表示两个一元多项式a和b,a+b的求和运算等同于单链表的插入问题(将单链表polyn p中的结点插入到单链表polyn h中),因此“和多项式”中的结点无须另生成。

为了实现处理,设p、q分别指向单链表polya和polyb的当前项,比较p、q结点的指数项,由此得到下列运算规则:

若p->expnexpn,则结点p所指的结点应是“和多项式”中的一项,令指针p后移。

若p->expn=q->expn,则将两个结点中的系数相加,当和不为0时修改结点p的系数。

若p->expn>q->expn,则结点q所指的结点应是“和多项式”中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移。

六、模块划分。

1、元素类型、结点类型和指针类型:

typedef struct polynomial

return head;

3、主函数和其他函数:

void main()

int m,n,a,x;

char flag;

polyn pa=0,pb=0,pc;

float valuepolyn(polyn head,int x) /输入x值,计算并返回多项式的值。

七、源程序。

#include<>

#include<>

typedef struct polynomial

else指数为新时将结点插入即p->expn>q2expn情况。

p->next=q2;

q1->next=p;

//insert

polyn createpolyn(polyn head,int m)

return head;

//createpolyn

void destroypolyn(polyn p)

void printpolyn(polyn p)

while (q)//while

printf("");

//printpolyn

int compare(polyn a,polyn b){

if(a&&b){

if(!b||a->expn>b->expn) return 1;

else if(!a||a->expnexpn) return -1;

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...