数据结构论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构
课程设计报告
一、问题描述与分析
1、课程设计目的:
《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法、并对算法的效率进行简单的分析和讨论。数据结构时介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等重要基础,广泛的应用于信息学、系统工程学等各种领域。
数据结构课程设计是为数据结构课程独立开发的实践性教学环节。数据结构课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。
课程设计的目的:
1.要求学生达到熟练掌握C语言的基本知识和技能。
2.了解并掌握数据结构与算法的实际方法,具备初步的独立分析和设计能力。
3.提高程序设计和调试能力。学生通过上机实习,验证自己实际的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
4.培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
5.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
二、课程设计内容
课题一:一元多项式计算
1、问题描述
1)、能够按照指数降序排列建立并输出多项式;
2)、能够完成两个多项式的相加、相减,并将结果输入。
2、要求
在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使
用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提
出算法的改进方法。
3、运行环境:
Microsoft Visual C++ 6.0。Visual C++(简称VC)是Microsoft公司推出的目前
使用极为广泛的基于Windows平台的C++可视化开发环境。Visual C++ 6.0提
供的控制台应用程序对学习和掌握标准C++内容非常有利。“可视”的资源编辑
器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应
用程序提供了极大的方便。利用Visual C++ 6.0进行Internet、数据库及多媒体等多方面的程序开发也很容易。
4、源程序:
#include "iostream"
using namespace std;
#define MAXSIZE 10
typedef struct
{
int xi;
int zhi;
}DataType;
typedef struct node
{
DataType data[MAXSIZE];
int length;
}Dx,*PDx;
PDx Init_List()
{
Dx *S;
S=(Dx *)malloc(sizeof(Dx));
if(S)
S->length=0;
return S;
}
int Empty(Dx *S)
{
if(S->length==0)
return 1;
else return 0;
}
int In_list(Dx *S,DataType a)//建立多项式存储结构
{
if(S&&S->length { S->length++; S->data[S->length-1]=a; return 1; } else return 0; } int Insert_list(Dx *S,int j,DataType e)//插入 { if(S&&S->length { S->length++; for(int i=S->length-1;i>j;i--) S->data[i]=S->data[i-1]; S->data[j]=e; return 1; } else return 0; } int Delete_list(Dx *S,int m)//m就是数组下标 { if(!S) { cout<<"多项式不存在!"< return -1; } if(m<1||m>S->length) { cout<<"删除位置不合法!"< return 0; } for(int j=m;j S->data[j-1]=S->data[j]; S->length--; return 1; } PDx Luru(int n)//录入多项式,并存储起来,n为多项式的项数! { Dx *S; S=Init_List(); DataType e; cout<<"按从高指数到低指数,输入一元多项式的系数和指数;"< { cout<<"指数:"; cin>>e.zhi; if((S->length-1>=0&&e.zhi>=S->data[S->length-1].zhi)||e.zhi<0) { i--; cout<<"输入指数大于前一项错误请重输或小于0!"< } cout<<"系数:"; cin>>e.xi; In_list(S,e);