导航:首页 > 源码编译 > 算法的渐进性是什么

算法的渐进性是什么

发布时间:2022-03-12 14:32:18

A. 算法的概念

算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法+数据结构=程序,求解一个给定的可计算或可解的问题,不同的人可以编写出不同的程序,来解决同一个问题,这里存在两个问题:一是与计算方法密切相关的算法问题;二是程序设计的技术问题。算法和程序之间存在密切的关系。
算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。
对算法的学习包括五个方面的内容:① 设计算法。算法设计工作是不可能完全自动化的,应学习了解已经被实践证明是有用的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等领域;② 表示算法。描述算法的方法有多种形式,例如自然语言和算法语言,各自有适用的环境和特点;③确认算法。算法确认的目的是使人们确信这一算法能够正确无误地工作,即该算法具有可计算性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果;④ 分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。分析算法可以预测这一算法适合在什么样的环境中有效地运行,对解决同一问题的不同算法的有效性作出比较;⑤ 验证算法。用计算机语言描述的算法是否可计算、有效合理,须对程序进行测试,测试程序的工作由调试和作时空分布图组成。

B. 算法是什么

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
一个算法应该具有以下五个重要的特征:
1、有穷性:
一个算法必须保证执行有限步之后结束;
2、确切性:
算法的每一步骤必须有确切的定义;
3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性:
算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
时间复杂度
算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n
的函数f(n),算法的时间复杂度也因此记做
T(n)=Ο(f(n))
因此,问题的规模n
越大,算法执行的时间的增长率与f(n)
的增长率正相关,称作渐进时间复杂度(Asymptotic
Time
Complexity)。
空间复杂度
算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。

C. 时间复杂性为O (n2),是什么意思

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得T(n)/f(n)的极限值(当n趋近于无穷大时)为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

分析:随着模块n的增大,算法执行的时间的增长率和 f(n) 的增长率成正比,所以 f(n) 越小,算法的时间复杂度越低,算法的效率越高。

在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出 T(n) 的同数量级(它的同数量级有以下:1,log2n,n,n log2n ,n的平方,n的三次方,2的n次方,n!),找出后,f(n) = 该数量级,若 T(n)/f(n) 求极限可得到一常数c,则时间复杂度T(n) = O(f(n))

(3)算法的渐进性是什么扩展阅读:

关于对其的理解

《数据结构(C语言版)》严蔚敏 吴伟民编着 第15页有句话“整个算法的执行时间与基本操作重复执行的次数成正比。”

基本操作重复执行的次数是问题规模n的某个函数f(n),于是算法的时间量度可以记为:T(n) = O(f(n))

如果按照这么推断,T(n)应该表示的是算法的时间量度,也就是算法执行的时间。

而该页对“语句频度”也有定义:指的是该语句重复执行的次数。

如果是基本操作所在语句重复执行的次数,那么就该是f(n)。

上边的n都表示的问题规模。

D. 编程算法是什么

程序算法是对特定问题求解过程的描述,是指令的有限序列,每条指令完成一个或多个操作。通俗地讲,就是为解决某一特定问题而采取的具体有限的操作步骤。

在有限的操作步骤内完成。有穷性是算法的重要特性,任何一个问题的解决不论其采取什么样的算法,其终归是要把问题解决好。如果一种算法的执行时间是无限的,或在期望的时间内没有完成,那么这种算法就是无用和徒劳的,我们不能称其为算法。

相关信息:

算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法的时间复杂度也因此记做T(n)=Ο(f(n));因此,问题的规模n 越大,算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。

算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。

E. 什么是算法算法的特性有哪些

算法,指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。

特征:有穷性,算法必须能在执行有限个步骤之后终止;确切性,算法的每一步骤必须有确切的定义;输入项,一个算法有0个或多个输入,以刻画运算对象初始情况;输出项,一个算法有一个或多个输出以反映对输入数据加工后的结果;可行性,算法中执行的任何计算步骤都可被分解为基本的可执行的操作步骤。

(5)算法的渐进性是什么扩展阅读:

算法可以宏泛分为三类:

1、有限的、确定性算法:这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。

2、有限的、非确定算法:这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。

3、无限的算法:是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。

F. 渐进意义的算法复杂性分析有何意义

考虑算法复杂性的渐进性态时,已知f(n)=2n*n+11n-10,则时间复杂性在渐进意义下的阶为(B)。A.O(n)B.O(n*n)C.O(2n*n)D.O(2n*n+11n-10)2在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为(A)。A.O(n)B.O(n/2)C.O(1)D.O(n2)这是前两题的答案如果是的话那所有的十二题的答案就是这几个了:BABDACDCDCBA只是隐约记得自己做的

G. 什么是算法的复杂性如何度量什么是算法渐进性态的阶

考虑算法复杂性的渐进性态时,已知f(n)=2n*n+11n-10,则时间复杂性在渐进意义下的阶为( B ) 。
A.O(n) B.O(n*n) C.O(2n*n) D.O(2n*n+11n-10)
2在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A )。
A. O(n) B. O(n/2) C. O(1) D. O(n2)
这是前两题的答案 如果是的话 那所有的十二题的答案就是这几个了:
BABDA CDCDC BA 只是隐约记得 自己做的

H. n的阶乘的渐进式

不叫渐进式,而是函数的递归用法
f(n)=1,[n=1];f(n)=n*f(n-1)[n≥2];

阅读全文

与算法的渐进性是什么相关的资料

热点内容
二分查找流程图算法 浏览:683
质量问题的算法 浏览:79
c代码编译吃cpu频率还是核心 浏览:165
pdf签名adobe 浏览:405
在家无聊解压图片 浏览:534
单片机拨打电话 浏览:440
单片机问题解说 浏览:795
我的世界手机版命令方块零重力 浏览:689
解压游戏无广告最新版 浏览:423
如何下载养生堂app 浏览:242
oracle中文乱码java 浏览:937
儿童编程实践课小结 浏览:482
APP是如何实现数据获取的 浏览:522
买车子看什么app 浏览:832
美国单片机 浏览:815
如何在app上架自己的游戏 浏览:463
安卓系统车载导航支持什么格式u盘 浏览:627
天翼云服务器怎么打开端口 浏览:913
如何启用对服务器远程的访问 浏览:779
程序员环境分析 浏览:820