算法特征有哪些(算法的五个重要特征详解)
算法的五个重要特征:
1、输入:一个算法有零个或多个输入,以刻画运算对象的初始情况。例如,在欧几里得算法中,有两个输入,即m和n。
2、确定性:算法的每一个步骤必须要确切地定义。即算法中所有有待执行的动作必须严格而不含混地进行规定,不能有歧义性。例如,欧几里得算法中,步骤1中明确规定“以m除以n,而不能有类似以m除n以或n除以m这类有两种可能做法的规定。
3、有穷性:一个算法在执行有穷步滞后必须结束。也就是说,一个算法,它所包含的计算步骤是有限的。例如,在欧几里得算法中,m和n均为正整数,在步骤1之后,r必小于n,若r不等于0,下一次进行步骤1时,n的值已经减小,而正整数的递降序列最后必然要终止。因此,无论给定m和n的原始值有多大,步骤1的执行都是有穷次。
4、输出:算法有一个或多个的输出,即与输入有某个特定关系的量,简单地说就是算法的最终结果。例如,在欧几里得算法中只有一个输出,即步骤2中的n。
5、能行性:算法中有待执行的运算和操作必须是相当基本的,换言之,他们都是能够精确地进行的,算法执行者甚至不需要掌握算法的含义即可根据该算法的每一步骤要求进行操作,并最终得出正确的结果。
算法的复杂度
1.时间复杂度:算法的时间复杂度是指算法需要消耗的时间资源。
2.空间复杂度:算法的空间复杂度是指算法需要消耗的空间资源。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。
1、用自然语言描述算法
前面关于欧几里得算法以及算法实例的描述,使用的都是自然语言。自然语言是人们日常所用的语言,如汉语、英语、德语等。使用这些语言不用专门训练,所描述的算法也通俗易懂。
2、用流程图描述算法
在数学课程里,我们学习了用程序框图来描述算法。在程序框图中流程图是描述算法的常用工具由一些图形符号来表示算法。
3、用伪代码描述算法
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。它不用图形符号,因此,书写方便、格式紧凑,易于理解,便于向计算机程序设计语言过度。
基本方法
1.递推法
递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。它把问题分成若干步,找出相邻几步的关系,从而达到目的,此方法称为递推法。
2.递归法
递归指的是一个过程:函数不断引用自身,直到引用的对象已知
3.穷举搜索法
穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。
4.贪婪法
贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。
5.分治法
分治法是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。
6.动态规划法
动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分解为相似的子问题,在求解的过程中通过子问题的解求出原问题的解。动态规划的思想是多种算法的基础,被广泛应用于计算机科学和工程领域。
7.迭代法
迭代法是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法。
8.分支界限法
与贪婪算法一样,这种方法也是用来为组合优化问题设计求解算法的,所不同的是它在问题的整个可能解空间搜索,所设计出来的算法虽其时间复杂度比贪婪算法高,但它的优点是与穷举法类似,都能保证求出问题的最佳解,而且这种方法不是盲目的穷举搜索,而是在搜索过程中通过限界,可以中途停止对某些不可能得到最优解的子空间进一步搜索(类似于人工智能中的剪枝),故它比穷举法效率更高。
其他文章
- ipo上市需要什么条件(这3点非常重要)
- 大飞机概念股龙头一览详解(国产军工龙头股详解)
- 孕线经典k线组合图解(多头母子k线组合解析)
- 创业板交易规则有哪些(创业板新股上市涨跌规则解析)
- 发达国家排名详解(全球32个发达国家的简况及分析)
- 连云港股票行情分析(业绩不佳的连云港缘何四日上涨41.1%)
- 180003基金今天净值详解(净值查询介绍)
- 退市股票一览表详解(2021最新退市股票一览表)
- 菲利普斯曲线名词解释(什么是菲利普斯曲线)
- 北斗导航最受益的股票详解(收益最大龙头股详解)
- 什么是点价交易(点价和基差交易的区别及步骤详解)
- spv公司是什么意思(性质及类型详解)
- 如何建立长效机制(建立长效机制怎么写)
- 中字头股票一览表(龙头概念股及价详解)
- 什么是大数法则(大数法则的理解与应用详解)
- 基建是什么意思(基建、新基建和数字基建详解)
- etc记账卡什么时候扣费(ETC收费10大热点问题解答)
- 现在做什么最赚钱比较快的(赚钱比较快的4种生意推荐)
- 中国黄金储备多少(总量多少吨)
- suv销量排行榜前十名(年底优惠都收窄,买哪个合适)
- cpi指数上涨和下跌意味着什么?对股市有什么影响?
- 外贸板块有哪些(3大板块带你预测2021外贸发展)
- 氢能源动力汽车有哪些(氢能源动力汽车的5款体验)
- 中美贸易战结束了吗(经济损失高达7000亿)
- 红阳能源股票最新解析(红阳能源提示风险后股价涨停)
- 土地增值税暂行条例实施细则(最新修订解读)
- 什么是虚拟经济(虚拟经济包括哪些行业)
- 京东白条怎么关闭注销 京东白条关闭流程教程
- 排名前十的纯债基金有哪些?
- 集采是什么意思(什么是医药集采)