综合百科

算法特征有哪些

网友 2024-09-11 12:55:41

算法的五个重要特征:1、输入:一个算法有零个或多个输入,以刻画运算对象的初始情况。例如,在欧几里得算法中,有两个输入,即m和n。2、确定性:算法的每一个步骤必须要确切地定义。即算

算法的五个重要特征:

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.分支界限法

与贪婪算法一样,这种方法也是用来为组合优化问题设计求解算法的,所不同的是它在问题的整个可能解空间搜索,所设计出来的算法虽其时间复杂度比贪婪算法高,但它的优点是与穷举法类似,都能保证求出问题的最佳解,而且这种方法不是盲目的穷举搜索,而是在搜索过程中通过限界,可以中途停止对某些不可能得到最优解的子空间进一步搜索(类似于人工智能中的剪枝),故它比穷举法效率更高。


本文标签: 算法的五个重要特征

其他文章

  • 房贷利率2024最新利率首套房
  • 手机怎么查银行卡余额?
  • 想快速借钱30万,有哪些渠道可以借到?
  • 股票临时停牌规则?
  • 贷款平台哪个更容易通过?盘点靠前低门槛、易通过的贷款平台
  • 微医保门诊医疗险怎么样?入手前必看
  • 定期一本通是什么意思?
  • 腾讯信用分怎么查询?
  • 什么软件借钱快通过利息低?这几款软件都还不错!
  • 支付宝建信养老飞越366怎么取出来?
  • 北京朝内大街81号闹鬼传闻揭秘(京城81号真实故事原型)
  • 加拉帕格斯巨人蜈蚣体型巨大可达46厘米(世界十大著名蜈蚣)
  • 2022美剧排行榜前十豆瓣(欧美高分电视剧排行榜)
  • 美国历届总统一览表(历届美国总统任期顺序表)
  • 高邮龙吸水当地人怎么说(扬州出现龙吸水奇景的原因)
  • ucla大学世界排名第几(加利福尼亚大学洛杉矶分校)
  • 百家姓完整版2023(《百家姓》全文+拼音+注释)
  • 宽带100mbps是什么意思(一般家庭装多少兆宽带)
  • vivo nex2双屏版参数配置(曲屏手机有哪几款)
  • 代码怎么编写(代码编程教学入门)
  • 黔ICP备19002813号