- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全国计算机等级考试二级公共基础知识(基本数据结构与算法) 一. 基本数据结构与算法 重要知识点: 算法概念 算法复杂度 1.1 算法 1.1.1 算法(algorithm)基本概念 算法是指为解决某个特定问题而采取的确定且有限的步骤的一种描述,它是指令的有限序列,使得给定类型的问题通过有限的指令序列,在有限的时间内被求解,其中每一条指令表示一个或多个操作。 算法具有有穷性、确定性、可行性、输入和输出(拥有足够的情报)等5个基本特性。 [例1-1]在下列选项中,哪个不是一个算法一般应该具有的基本特征( ) A、确定性 B、可行性 C、无穷性 D、拥有足够的情报 1.1.2 算法的基本要素 1、对数据对象的运算和操作 算术运算 逻辑运算 关系运算 数据传输 2、算法的控制结构 算法中各操作之间的执行顺序 描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等 一个算法一般可以用顺序、选择、循环三种基本机构组合而成。 1.1.3 算法设计基本方法 列举法 归纳法 递推 递归(以简洁的形式设计和描述算法) 减半递推技术 回溯法 1.1.4 算法设计的要求 正确性 可读性 健壮性 高效性 1.2 算法复杂度 1.2.1 时间复杂度 指算法运行从开始到结束所需要的计算工作量 一个算法是由控制结构(顺序、分支和循环)和原操作构成的,算法时间取决于两者的综合效果。 算法中基本操作重复执行次数n和算法执行时间同步增长,称作算法的时间复杂度。 算法的工作量=f(n),通常记作:T(n)=O(f(n)) 例如:一个程序的实际执行时间为: T(n)=2.7n3+3.8n2+5.3,则T(n)=O(n3), 通常用O(1)表示常数计算时间,常见的时间复杂度有: O(1)O(log2n)O(n)O(nlog2n)O(n2)O(n3)O(2n) 在实际问题中,算法的时间复杂度不仅与问题规模有关,而且还与特定的输入,也就是初始数据状态有关 [例1-2]算法的时间复杂度是指( ) A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 2.2.2 算法的空间复杂度 一般是指执行这个算法所需要的内存空间 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及某种数据结构所需要的附加存储空间 一个上机执行的程序除了需要存储空间来寄存本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。 [例1-3]算法的空间复杂度是指( ) A、算法程序的长度 B、算法程序中的指令条数 C、算法程序所占的存储空间 D、算法执行过程中所需要的存储空间 [例1-4]算法的复杂度主要包括______复杂度和空间复杂度。 1.2 数据结构 数据结构的定义: 数据结构是指反映数据元素之间关系的数据元素集合的表示,通俗的说,数据结构是指带有结构的数据元素的集合。数据包括两种结构:数据的逻辑结构和存储结构 1.2.1数据的逻辑结构 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构 一个数据结构应包含以下两方面的信息: 1、表示数据元素的信息 2、表示各数据元素之间的前后件关系 通常有下列四类基本的逻辑结构: 1)集合结构 2)线性结构 3)树形结构 4)图形结构 1.2.2数据的存储结构 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。而采用不同的存储结构,数据处理的效率是不同的,因此,在进行数据处理时,选择合适的存储结构是很重要的。 [例1-5]与所使用的计算机系统无关的数据结构是( ) A)存储 B) 物理 C)逻辑 D)线性表 线性结构和非线性结构 如果一个非空的数据结构满足下列两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件 则称该数据结构为线性结构(线性表)。 如果一个数据结构不是线性结构,则称之为非线性结构。 1.3 线性表 1.3.1 线性表的定义 线性表是n个元素的有限序列,它们之间的关系可以排成一个线性序列: a1,a2,…… ,ai,…… ,an 其中n称作表的长度,当n=0时,称作空表。 线性表的特点: 1.线性表中所有元素的性质相同。 2.除第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继。第一个数据元素无前驱,最后一个数据元素无后继。 3.数据元素在表中的
文档评论(0)