ImageVerifierCode 换一换
格式:PPT , 页数:18 ,大小:363.50KB ,
资源ID:374327      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-374327.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机软件技术基础.ppt)为本站会员(diecharacter305)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

计算机软件技术基础.ppt

1、计算机软件技术基础,教 师:曾晓东 电 话:13679007201 E_mail: ,第2章 数据结构概述,一、什么是数据结构 二、有关数据结构的基本概念和术语 三、算法 四、算法描述语言和算法分析,计算机软件技术基础,数据结构概述,第2章 数据结构概述,一、什么是数据结构程序=算法+数据结构 例: 表达式解释 6+5*4=? 字符串匹配 串“ABCAC”出现在另一个串“ABCABCACAC”的第几个位置上 排序 一个序列,如何最快地对其进行排序 压缩编码 AAAABBBCDDE? 图的最短路径 地理研究中的交通网络,计算机软件技术基础,数据结构概述,第2章 数据结构概述,一、什么是数据结构

2、1、数值型与非数值型数据 (1)学生表格,计算机软件技术基础,数据结构概述,一、什么是数据结构,(2)选课表,(3)UNIX的文件系统,计算机软件技术基础,数据结构概述,一、什么是数据结构,2、数据结构简单来说,就是相互之间存在一种或多种特定关系的数据元素的集合。如线性关系、层次关系、网状关系等。,计算机软件技术基础,数据结构概述,第2章 数据结构概述,二、有关数据结构的基本概念和术语 1、数据(data):计算机程序所处理的一切数值性的和非数值性的信息。 2、数据元素(data element):是数据集合中的一个个体,是数据的基本单位。如数据集合N=1,2,3,4,5中整数1至5均为数据元

3、素。 数据元素不一定是单个的数字或字符,也可能是若干个数据项的组合,如学生信息。 学生(学号,姓名,性别,成绩) 数据项(data item)是数据不可再分的最小单位。 数据元素有时也称结点、节点或记录。,计算机软件技术基础,数据结构概述,二、有关数据结构的基本概念和术语,3、数据对象(data object):是具有相同性质的数据元素的集合。如大写字母字符的数据对象是集合:C= A,B,.,Z 。 4、数据结构(data structure):研究数据元素之间抽象化的相互关系和这种相互关系在计算机系统中的存储方式,并对每种数据结构定义相关的运算算法,确保经过运算后仍然是原来的数据结构类型。

4、5、数据的逻辑结构(logical structure):表示数据元素之间抽象化的相互关系,又可简称为数据结构。它研究数据元素及其关系的数学特性。集合、线性、树型、网状 6、数据的物理结构(physical structure):表示数据的逻辑结构在计算机系统中的存储方式,又可简称为存储结构。它是逻辑结构在计算机中的映象,也就是具体实现。顺序存储、链式存储、索引存储、散列存储,计算机软件技术基础,数据结构概述,第2章 数据结构概述,三、算法 1、算法:为解决某个计算任务而安排的有限操作过程的描述。 2、算法的特性 有穷性 确定性 数据输出 数据输入 能行性,计算机软件技术基础,数据结构概述,三

5、、算法,3、好的算法的特性 正确性 可读性 健壮性 高效率和低存储空间要求 简洁性,计算机软件技术基础,数据结构概述,第2章 数据结构概述,四、算法描述语言和算法分析 1.算法描述语言 本门课程基本采用标准C描述算法。 注释部分用/或/*.*/表示。 有些地方为方便起见,可能省略变量定义等有关内容。 请大家复习C语言的相关内容,特别是指针和结构两部分的内容,计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,2、算法的复杂性分析 一个可执行的算法不一定是一个好算法,算法的分析是一个复杂的问题,通常用计算机执行时在时间和空间两方面的消耗多少作为评价该算法优劣的标准。 这两个标准分别称为

6、时间复杂度和空间复杂度。一般时间复杂度考虑的较多。 度量一个程序的执行时间通常有两种方法: 事后统计和事前分析估算 这里我们介绍第二种方法。,计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,2.1 时间复杂度 频度:指一条语句重复执行的次数,记作:F(n) 时间复杂度:T(n)=O(F(n) 下面举例说明如何求时间复杂度?,计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,1. for (i=0; in; i+) 2. for (j=0; jn; j+) 3. bij=0; 4. for (k=0; kn; k+) 5. bij=bij+aik*akj; 6. 我们以

7、执行次数最多的语句(第5句)进行计算:语句频度为:F(n)=n3时间复杂度:T(n)=O(F(n)=O(n3),计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,思考下列程序段的时间复杂度1)、x=x+1;,2)、for (j=0; jn; j+) x=x+1;,3)、for (j=0; jn; j+) for (k=0; kn; k+) x=x+1;,4)、for (j=2; j=n; j+) for (k=2; k=j-1; k+) x=x+1;,T(n)=O(1),T(n)=O(n),T(n)=O(n2),T(n)=O(n2),计算方法:对于外层循环中的j,从2到n循环,计算

8、出j每取一个值时,内层循环执行的次数0、1、2、.、n-2,然后累加起来,得到一个n的多项式(n-1)(n-2)/2,取出次数最高的项即可。,计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,常见的时间复杂度1)O(1):常量型2)O(n)、O(n2)、.、O(nk):多项式型3)O(log2n)、O(2log2n):对数型4)O(2n)、O(en):指数型,计算机软件技术基础,数据结构概述,四、算法描述语言和算法分析,2、空间复杂度 空间复杂度是指在算法中所需的辅助空间单元而不包括问题的原始数据占用的空间(因为这些单元与算法无关),记作:S(n) 时间与空间是一对矛盾。要节约空间往往就要消耗较多时间,反之亦然,而目前由于计算机硬件的发展,一般都有足够的内存空间,因此在分析中着重考虑时间的因素。,计算机软件技术基础,数据结构概述,第2章 数据结构概述,五、小结 1、理解基本概念:数据、数据元素、数据对象、数据结构、数据类型、逻辑结构和物理结构、算法 2、会分析一般算法的语句频度和时间复杂度,计算机软件技术基础,数据结构概述,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1