的数据结构第一章绪论_第1页
的数据结构第一章绪论_第2页
的数据结构第一章绪论_第3页
的数据结构第一章绪论_第4页
的数据结构第一章绪论_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论基本概念和术语

数据:

所有能被输入到计算机中,且能被计算机处理的符号的集合数据项:数据结构中讨论的最小单位,数据元素是数据项的集合,数据是数据元素的集合数据元素:

是数据(一个集合)中的一个“个体”,是数据结构中讨论的基本单位001高等数学华罗庚S01……002线性代数銮汝书L01……003高等数学郑杭生

S01……004离散数学耿素云S02………………………………序号书名作者书名……数据元素数据项001002003004……数据元素数据结构

:数据以及数据之间的关系基本概念和术语

集合线性结构树形结构图状结构

数据结构:带结构的数据元素的集合,这里的结构是指数据元素之间存在的一种约束关系例1.一个含12位数的十进制数可以用三个4位的十进制数表示3214,6587,9345─

a1(3214),a2(6587),a3(9345)在a1、a2和a3之间存在“次序”关系

<a1,a2>,<a2,a3>3214,6587,9345≠6587,3214,9345

a1

a2

a3

a2

a1

a3例2.由6个数组成一个2行3列的二维数组{a1,a2,a3,a4,a5,a6}行的次序关系:row={<a1,a2>,<a2,a3>,<a4,a5>,<a5,a6>}列的次序关系:col={<a1,a4>,<a2,a5>,<a3,a6>}a1a2a3a4a5a6例3,一维数组{a1,a2,a3,a4,a5,a6}中存在次序关系:ai可见:不同的关系构成不同的结构,而数据结构就是带结构的数据元素的集合{<ai,ai+1>|i=1,2,3,4,5}

数据结构的形式定义为:

数据结构是一个二元组Data_Structures=(D,S)

其中:D是数据元素的有限集,

S是D上关系的有限集。抽象数据类型

(AbstractDataType简称ADT)

ADT是指一个数学模型以及定义在此数学模型上的一组操作,可用三元组表示,其中,D是数据对象,S是D上的关系集,P是对D的基本操作集ADT

抽象数据类型名{

数据对象D:〈数据对象的定义〉

数据关系S:〈数据关系的定义〉

基本操作P:〈基本操作的定义〉}ADT

抽象数据类型名(D,S,P)例.抽象数据类型复数的定义:(两个实数的有序偶对3+7i2+5i5+8iADTComplex{

数据对象:D={e1,e2|e1,e2∈RealSet}

数据关系:R1={<e1,e2>|e1是实数部分,e2是虚数部分}

基本操作:

InitComplex(&Z,v1,v2)

操作结果:构造复数Z,实部和虚部分别被赋以参数v1和v2的值。

GetReal(Z,&realPart)

操作结果:用realPart返回复数Z的实部值。

GetImag(Z,&ImagPart)

操作结果:用ImagPart返回复数Z的虚部值。

Add(z1,z2,&sum)

操作结果:用sum返回两个复数z1,z2的和值。}ADTComplex时间复杂度

看执行的代码和N之间的关系,把N看作无穷大假如,随着问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,则可记作:T(n)=o(f(n))称T(n)为算法的(渐近)时间复杂度如何估算算法的时间复杂度?即如何求f(n)从算法中选取一种对于所研究的问题来说是基本操作的原操作,以该基本操作在算法中重复执行的次数作为算法运行时间的衡量准则

for(i=0;i<n;++i)a=0;for(j=0;j<n;++j)printf(“hello!”);T(n)=O(n)例一

for(i=1;i<=n;++i)for(j=1;j<=n;++j){c[i,j]=0;for(k=1;k<=n;++k)c[i,j]+=a[i,k]*b[k,j];}基本操作:乘法操作时间复杂度:O(n3)例二voidselect_sort(inta[],intn){//将a中整数序列重新排列成自小至大有序的整数序列

for(i=0;i<n-1;++i){j=i;for(k=i-1;k<n;++k)if(a[k]<a[j])j=k;if(j!=i)a[j]←→a[i]}//select_sort}基本操作:比较(数据元素)操作时间复杂度:O(n2)

例三

voidbubble_sort(inta[],intn){

//将a中整数序列重新排列成自小至大有序的整数序列

for(i=n-1,change=TRUE;i>1&&change;--i){change=FALSE;for(j=0;j<i;++j)if(a[j]>a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论