- 1、本文档共144页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-2章计算机等级考试课件;;第1章 基本数据结构与算法;算法的五个特性
(1)有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束。
(2)确定性:算法中的每一步必须有确切的含义,不会产生二义性。对于相同输入必须得到相同结果 。
(3)可行性:算法中描述的操作都可以通过执行有限次基本操作来实现。每一步都是能够实现的,即可操作的。
(4)输入:一个算法有零个或多个输入,这些输入取自特定的数据对象集合。
(5)输出:一个算法必有一个或多个输出。
综上所述,算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。;2.算法的复杂度
算法的复杂度主要包括时间复杂度和空间复杂度。
(1)算法的时间复杂度
一个算法的时间复杂度(Time Complexity)是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即
算法的工作量=f(n)
其中n是问题的规模。用n 表示问题规模的量,把算法运行所需的时间T表示为n的函数,记为T(n)。 例如,两个n阶矩阵相乘需要的基本算法次数为n3,即计算工作量为n3,也就是时间复杂度为n3,即T(n)=O(n3)
大“O” (Order数量级)记号表示T(n)和n3是同一个数量级。;例如,一个程序的实际执行时间为T(n)=2.7n3+3.8n2+5.3
则 T(n)=O(n3)。
通常用O(1)表示常数计算时间。
注意,当T(n)为多项式时,可只取其最高次幂项并省略其系数,其它的次幂项及系数均略去不写。一般地,对于足够大的n,常用的时间复杂性存在以下顺序:
O(1)<O (log2n)<O (n)<O (nlog2n)<O (n2)<O (n3)<O (2n)
;例1:计算下面程序段的时间复杂度
temp=a; /*执行1次*/
a=b; /*执行1次*/
b=temp; /*执行1次*/
分析:以上三个语句均执行一次,该程序段的执行时间是一个与n无关的常数,因此,时间的复杂度为常数阶,记做T(n)=O(1)。;例2:计算下面程序段的时间复杂度
S=1; /*执行1次*/
for (i=1 ; i=n ; i++) /*执行n次*/
for (j=1 ; j=2n ; j++) /*执行2n次*/
S=S+1;
分析:以上语句共执行了n×2n+1=2n2+1次,故T(n)=2n2+1
时间复杂度记为:T(n)=O(n2);(2)算法的空间复杂度(Space Complexity)
算法的空间复杂度是指执行这个算法所需要的内存空间。一个算法的空间复杂度是指程序运行开始到结束所需要的存储空间。包括算法本身所占用的存储空间、输入/输出数据占用的存储空间以及算法在运行过程中的工作单元和实现算法所需辅助空间。;【例1-1】 算法的时间复杂度是指( )。
A)执行算法程序所需要的时间
B)算法程序的长度
C)算法执行过程中所需要的基本运算次数
D)算法程序中的指令条数
;1.2 数据结构的基本概念; 根据数据元素间关系的不同特性,通常有下列四类基本的结构:
1)集合结构。在集合结构中,数据元素间的关系是“属于同一个集合”。集合是元素关系极为松散的一种结构。
2)线性结构。该结构的数据元素之间存在着一对一的关系。
3)树型结构。该结构的数据元素之间存在着一对多的关系。
4)图形结构。该结构的数据元素之间存在着多对多的关系,图形结构也称作网状结构。
; (a)集合结构;(1)数据的逻辑结构
数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。与所使用的计算机系统无关。
一个数据结构应包含以下两方面的信息:
1)表示数据元素的信息。
2)表示各数据元素之间的前后件关系。
(2)数据的存储结构
数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。;数据的存储结构有四种存储方式 :
顺序存储方式 :数据元素逻辑上相连物理上也相连;
链式存储方式:数据元素逻辑上相连物理通过指针相连;
索引存储方式:数据元素通过索引表相连系;
散列存储方式:数据元素通过散列函数相连系;
而采用不同的存储结构,其数据
文档评论(0)