- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最终版三级数据结构讲义(王娟)
数据结构
算法及其描述
一个算法应该具有以下五个重要的特征:
有穷性:一个算法必须保证执行有限步之后结束;
算法和程序的区别:程序不要求有穷性(操作系统)
确定性: 算法的每一步骤必须有确切的定义;
可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成;
输入:一个算法有0个或多个输入;
输出:一个算法有一个或多个输出。
[09春 16]下列有关算法的描述中,错误的是_________。
A. 算法可以没有输入
B. 算法至少有一个输出
C. 一个算法的优劣由算法的时间复杂度惟一决定
D. 一个算法的时间复杂度为O an a 1,n是问题规模的量 ,则这个算法没有实际使用意义
[09秋 16]算法有穷性的含义是_________。
A. 算法执行的步数和时间都是有限的 B. 算法所处理的数据量是有限的
C. 算法程序的长度是有限的 D. 算法只能被有限的用户使用
算法分析
计算机的资源,最重要的是时间和空间(即存储器)资源。因而,算法的复杂性有时间复杂性和空间复杂性之分。我们重点掌握时间复杂度。
时间复杂度:算法中基本操作重复执行的次数是问题规模n的某个函数f(n),T(n) O(f(n))。具体在以后的程序算法介绍过程中详细分析。
时间复杂度通常取n 趋向于无穷大时的主项(即增长速度最快的一项),不包括系数。
[08 春 12]设n为问题规模的量,以下所表示的算法时间复杂度中,当T(n)为_________时,随着n增大T(n)增长很快,我们称其对应的算法为无效算法。
A. O(log2n) B. O(nlog2n) C. O(2n) D. O(n2)
数据、数据元素和数据项
数据:是指所有能输入到计算机中并被计算机程序处理的符号的总称。是计算机加工的“原料”。
数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据项:有时,一个数据元素可由多个数据项组成。数据项是数据的不可分割的最小单位。
举例
[08秋 20]以下有关数据的论述中,正确的是_________。
数据是能被计算机识别、存储和处理的符号的集合
数据元素是数据的不可分割的最小单位
数据项是数据的基本单位
数据由若干个数据项构成,通常将数据项作为一个整体进行考虑和处理
数据结构
数据结构的形式定义:数据结构是一个二元组
Data_Structure D, S
其中,D 是数据元素的有限集, S 是D上关系的有限集。
逻辑结构:集合、线性、树形、图或网状
[09秋 20]抽象地反映数据元素之间在结构上的约束关系并不考虑其在计算机中的存储方式,称为数据的_________。
A.逻辑结构 B.层次结构 C.物理结构 D.存储结构
存储结构:顺序、链接、索引、散列
[08春 16]在数据结构中,数据的运算_________。
效率与采用何种存储结构有关
是根据存储结构来定义的
分为算术运算和关系运算两大类
必须用高级程序设计语言来描述
[09春 20]下列有关数据结构的叙述中,正确的是_________。
线性表、栈和队列的顺序存储结构及其操作是一致的
数组以行序为主序排列时元素下标排列次序的变化为:先变化最右边的下标,从右向左,最后变化最左边的下标
非空二叉树中每个结点有且只有一个双亲
图的遍历算法中增设一个访问数组用于存放顶点的数据
线性表
线性表是由n个具有相同特性的数据元素组成的线性序列。
[09秋 21]下列关于线性表的叙述中,正确的是_________。
A. 同一表中的元素必须相同类型,不同表中的元素必须相同类型
B. 同一表中的元素可以不同类型,不同表中的元素必须相同类型
C. 同一表中的元素必须相同类型,不同表中的元素可以不同类型
D. 同一表中的元素可以不同类型,不同表中的元素可以不同类型
逻辑结构:线性结构
存储结构:顺序存储结构/链式存储结构
顺序存储结构的线性表需要一组连续的存储单元依次存储元素,因此知道存储的起始地址以及每个元素所占空间即可求出第I个元素的存储地址,而链式存储结构的线性表则无需连续空间,因此也无法计算其地址;
链式存储结构的线性表进行插入、删除等运算时不需要移动其他结点,而顺序存储结构的线性表则不然;
[10春 20]以下有关存储结构的叙述中,错误的是_________。
A. 存储结构是数据结构在计算机存储器中的表示
B. 顺序存储结构是指数据已按其关键字升序(或降序)排好序的存储结构
C. 链式存储结构线性表在插入、删除等操作方面比顺序存储更简单
D. 顺序存储结构线性表在存取元素方面比链式存储更快捷
顺序存储结构的线性表的运算
插入、删除以及其算法分析
线性链表的运算
插入、删除以及两链表合并
[07秋 18]指针h指向非空带表头结
文档评论(0)