计算机软件技术基础(邮电)1-1.pptVIP

  • 1
  • 0
  • 约3.47千字
  • 约 36页
  • 2016-07-24 发布于江西
  • 举报
计算机软件技术基础(邮电)1-1.ppt

计算机软件技术基础; 第一章 数据结构; 数据结构的基本概念;§1.1数据结构的基本概念;?数据结构的主要内容 ;§1.1.2 数据结构中的基本概念和术语; ? 数据对象(data object) 数据的子集。具有相同性质的数据成员(数据元素)的集合。 ? 整数数据对象 N = { 0, ?1, ?2, … } ? 学生数据对象 ? 英文字母数据对象 LETTER ={‘A’ ,‘ B’,…‘Z’};?数据类型(data type):; ?线性结构: 结构中的数据元素之间存在着一个对一个的关系。如图所示:;?图状结构或网状结构: 结构中的数据元素之间存在着多个对多个的关系。如下图所示:;二、基本概念 ? 数据结构(data structure): 相互之间存在着一种或多种特定关系的数据元素的集合。; ;?数据存储结构:(物理结构) 反映数据元素在计算机中的存储方法就是数据的物理结构。???时也称为存储结构。它是逻辑结构在存储器里的实现。 ? 数据存储结构的四种基本存储方法   ? 顺序存储方法: (Sequential Storage Structure) 该方法把逻辑上相邻的数据元素存储在物理位置上相邻的存储单元里,数据元素间的逻辑关系由存储单元的邻接关系来体现。; ? 链接存储方法:(Linked Storage Structure)   该方法不要求逻辑上相邻的数据元素在物理位置上亦相邻,数据元素间的逻辑关系由附加的指针字段表示。由此得到的存储表示称为链式存储结构。 ? 索引存储方法: ( Index Structure)   该方法通常在储存数据元素信息的同时,还建立附加的索引表。索引表由若干索引项组成。   ?稠密索引(Dense Index)   若每个数据元素在索引表中都有一个索引项,则该索引表称之为稠密索引。;  ?稀疏索引( Spare Index)   若一组数据元素在索引表中只对应一个索引项,则该索引表称为稀疏索引。   ?索引项的一般形式 ???????????????????? (关键字、地址); ?散列存储方法(Structure) 根据数据元素的关键字直接计算出该结点的存储地址。 ?对数据的操作(运算) 它不仅仅是加减乘除这些算术运算了,在数据结构中,这些运算常常涉及算法问题。 ?算法 ?算法的定义 一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列。;?算法的特性: ? 输入:有0个或多个输入 ?输出:有一个或多个输出(处理结果) ?确定性:每步定义都是确切、无歧义的 ?有穷性: 算法应在执行有穷步后结束 ?有效性: 每一条运算应足够基本 ?算法的分析(algorithm analysis) 算法分析(algorithm analysis)是指对算法的执行时间和所需内存空间的估算。同一问题的求解往往可以使用不同的算法,通过算法分析,可以比较两个算法的效率高低。 ; ? 算法的时间复杂度 执行一个算法所花费的时间代价。 当要解决的问题的规模以某种单位由1增至n时,对应算法所耗费的时间也以某种单位由f(1)增至f(n)。此时称该算法的时间复杂度为f(n)。 ? 问题的规模 例:顺序查找算法的关键操作是a[i] 的值与给定值做比较。 顺序查找成功的平均比较次数为:; ? 关键操作 ?顺序查找成功的平均比较次数为:;?时间代价(最坏、最好和平均情况) ? 最好情况下的时间代价。 ? 在平均情况下的时间代价。 ? 最坏情况下的时间代价,主要采用大 O表示法来描述。;? 一般提法 当且仅当存在正整数c和n0,使得T(n) ≤cf (n)对所有的n≥n0成立,则称该算法的渐进时间复杂度为T( n ) = O(f( n ))。这时也称该算法的时间代价的增长率为f(n)。 ? 基本思想 关注复杂性的数量级,而忽略数量级的系数,这样在分析算法的复杂度时,可以忽略个别语句的执行时间重点分析算法的主要代价。;?算法的空间复杂度; ?常见的时间复杂度 常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n2)、立方阶O(n3)、k次方阶O(nk)、指数阶O(2n)。 §1.1.3 数据结构、数据类型和抽象数据类型 ? 数据结构 数据结构是数据存在的形式。

文档评论(0)

1亿VIP精品文档

相关文档