比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /随机算法与递归算法的区别

随机算法与递归算法的区别

2011年6月11日发布的Indika

随机算法vs递归算法

随机算法通过在算法执行过程中做出随机选择而将随机性融入到其逻辑中。由于这种随机性,即使对于固定的输入,算法的行为也会发生变化。对于许多问题,随机算法提供了最简单和有效的解决方案。递归算法是基于这样一种思想:一个问题的解可以通过找到同一问题的更小的子问题的解来找到。递归在计算机科学中被广泛用于寻找问题的解决方案,许多高级编程语言都支持递归。

什么是随机算法?

随机算法通过做出引导算法执行的随机选择而融入随机性。这通常是通过将伪随机数生成器生成的一组随机数作为额外输入来实现的。因此,即使对于固定的输入,算法的行为也可能会改变。快速排序是一种广为人知的算法,它使用了随机性的概念,不管输入属性是什么,它的运行时间都是O(n log n)。在计算几何中,采用随机增量构造法构造凸壳等结构。在这种方法中,输入点是随机排列的,然后一个一个地插入到结构中。对于相同的问题,实现随机算法比实现确定性算法相对简单。设计随机算法的最大挑战在于对时间和空间复杂度进行渐近分析。

什么是递归算法?

递归算法是基于这样一种思想:一个问题的解可以通过找到同一问题的更小的子问题的解来找到。在递归算法中,函数是根据其自身的早期版本定义的。需要注意的是,这个自我引用应该有一个终止条件,以避免永远引用自己。在引用自身之前检查终止条件。递归算法的初始步骤与问题递归定义的基子句有关。第一步之后的步骤与问题的归纳从句有关。递归算法在许多情况下提供了一种更简单的解决方案,它比迭代算法更接近自然的思维方式来解决相同的问题。但一般来说,递归算法需要更多的内存,而且计算成本很高。

随机算法和递归算法的区别是什么?

随机算法是一种通过做出随机选择来影响算法执行的随机算法,而递归算法是一种基于这样一种思想的算法,即问题的解决方案可以通过寻找同一问题的较小子问题的解决方案来找到。由于随机算法的随机性,即使是相同的输入(在算法的不同执行过程中),算法的行为也可能发生变化。但这在递归算法中是不可能的,而且递归算法的行为对于固定输入是一样的。

相关文章:

Java和J2EE的区别 整数和指针的区别 Java和C语言的区别 数组和链表的区别 虚拟与抽象的区别

了下:编程标记:快速排序,随机化算法,随机算法,递归算法,递归算法

关于作者:Indika

Indika,二元同步通信。工程硕士,计算机工程博士。计算机科学副教授,主要研究方向为生物信息学、计算生物学和生物医学自然语言处理。

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

华为Ideos和HTC Wildfire的区别

GMC和雪佛兰的区别

宴会和接待座位的区别

宴会和接待座位的区别

刻板印象和原型的区别

刻板印象和原型的区别

酶和蛋白质的区别

最新的文章

  • 电磁炉与普通电磁炉有什么不同
  • 白癜风和银屑病有什么区别
  • 松质骨和皮质骨有什么区别
  • 电磁式和电动灶台有什么区别
  • 预防和治疗的区别是什么
  • 第四版与第五版自闭症有什么不同
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.