版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章绪论基本概念和术语
数据:
所有能被输入到计算机中,且能被计算机处理的符号的集合数据项:数据结构中讨论的最小单位,数据元素是数据项的集合,数据是数据元素的集合数据元素:
是数据(一个集合)中的一个“个体”,是数据结构中讨论的基本单位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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年知识产权许可合同许可使用条件
- 2024年高级信息安全服务外包合同
- 2025年度数据中心布线施工与环保验收服务协议3篇
- 2025年度数据中心厂房股权转让及运维服务合同样本3篇
- 2024版大坝整改施工项目施工质量管理合同3篇
- 2024年货车共享平台租赁合同
- 2024年高速路路基建设土石方工程承包协议一
- 2024年车展保险服务合同
- 2024细胞研究及产业化应用技术服务合同版B版
- 2024年限定商品代理经销权协议书版
- 调研报告:加强市属国有企业内部审计工作现状、存在的问题及对策建议
- 教学事故(差错)认定处理表(模板)
- 内蒙古自治区巴彦淖尔市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 餐票模板合集
- 私募基金管理公司资产托管制度
- 三年级语文下册教案-14 蜜蜂3-部编版
- 数字信号处理:第一章 数字信号处理概述
- 中国风中国武术武术介绍PPT模板课件
- 兖州一中“循环大课堂教学模式”
- 胶原蛋白行业报告
- 养老机构安全隐患排查清单、自查表、治理整改台账
评论
0/150
提交评论