1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS1-概论

;本课程的教学目的: 以掌握基本理论、基本方法、基本技能为目的。 ;本课程讲述的主要内容 本课程将分别讲述数据结构的基本概念、 线性表、栈和队列、串和数组、树形结构、图 结构、查找、排序和文件等内容。 ;课程要求;1. 熟悉各名词、术语的含义,掌握基本概念。;1.1 什么是数据结构;概括地说:;1.2 基本概念和术语;数据结构的理解;数据结构:;例如,在2行3列的二维数组{a1, a2, a3, a4, a5, a6} 中六个元素之间 存在两个关系:;再例,在一维数组 {a1, a2, a3, a4, a5, a6} 的数据元素之间存在如下的次序关系:;解释1: 什么叫数据的逻辑结构?;线性结构 :元素之间为一对一的线性关系,第一个元素无直接前驱,最后一个元素无直接后继,其余元素都有一个直接前驱和直接后继。;全校学生档案管理的组织方式;A;数据的逻辑结构可以用二元组表示, 即S=(D, R);(2) S=(D, R) D={di | 1≤i≤5} R={di , dj, ij};解释2:什么叫数据的物理结构?;(1)顺序存储(向量存储) 所有元素存放在一片连续的存贮单元中,逻辑上相邻的元素存放到计算机内存仍然相邻。;(2) 链式存储 所有元素存放在可以不连续的存贮单元中,但元素之间的关系可以通过地址确定,逻辑上相邻的元素存放到计算机内存后不一定是相邻的。 ;(3)索引存储 存放元素的同时,还建立附加的索引表。索引表中的每一项称为索引项,索引项的一般形式是:(关键字,地址),其中的关键字是能唯一标识一个结点的那些数据项。 ;(4)散列存储 根据结点的值确定结点的存储地址。通过构造散列函数,用函数的值来确定元素存放的地址。 ;解释3:什么是数据的运算?;在不同的编程环境中,;三、抽象数据类型 (Abstract Data Type 简称ADT);基本操作:;ADT 有两个重要特征:;1.4 算法与算法分析;程序设计实质=好算法+好结构;算法的五个特性: 有穷性: 每一条指令的执行次数必须是有限的。 确定性: 每条指令的含义都必须是确定的。 可行性: 算法是能行的,即算法中描述的操作都是可以通过已经???现的基本运算执行有限次来实现的。 输入: 具有0个或多个输入。 输出: 至少产生1个输出。;例:分析以下程序段的时间复杂度。;数学符号(O)的定义:若T(n)和f(n)是定义在正整数集合上的两个函数,当存在两个正的常数 c和n0 ,使得对所有的 n ? n0,都有T(n) ? c·f(n)成立, 则 T(n) = O (f(n)) ;例:分析以下程序段的时间复杂度。 for (i=1; i=n; ++i) /* n+1 */ for (j=1; j=n; ++j) /* n(n+1) */ c [i][j]=0; /* n2 */ -------------------------------------------------------- T(n)=2n2+2n+1 当n充分大时, T(n)与n2是同阶的。 该算法时间复杂度为:T(n)=O(n2);例1:分析以下程序段的时间复杂度。 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]=c[i][j]+a[i][k]*b[j][k]; } ;时间复杂度T(n)按数量级递增顺序为: ;练习:分析以下程序段的时间复杂度。

文档评论(0)

erfg4eg + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档