什么是递归?(a recursion?)

在计算机科学中,许多问题需要分而治之的策略。递归技术使用这种策略。递归是一种最简单的函数,它将一个问题划分为几个较小的问题,直到最终的结果可以确定为止。计算机科学建立在数学和逻辑的平台上。几十年来,递归一直是这个更大框架的一部分,它可以在今天的大多数计算机编程语言中找到。...
Recursion works well when creating security features within computer applications.

在计算机科学中,许多问题需要分而治之的策略。递归技术使用这种策略。递归是一种最简单的函数,它将一个问题划分为几个较小的问题,直到最终的结果可以确定为止。计算机科学建立在数学和逻辑的平台上。几十年来,递归一直是这个更大框架的一部分,它可以在今天的大多数计算机编程语言中找到。

动态规划是递归的一种实现,它将问题分解为组件。此过程允许在较大的问题中嵌套问题,其中每个子问题都需要先前问题的结果。这种类型的函数递归在数组操作中是典型的。

这种编程风格是有益的,因为它将问题简化为可管理的组件。它还具有模块化软件开发的优点。这种模块化方法允许在整个计算机应用程序中创建可重用组件。

在计算机应用程序中创建安全特性时,递归工作得很好。应用程序的每个屏幕可能需要确定字段是否可见的特定业务规则。在向用户呈现数据并应用必要的可见性限制之前,可以创建一个递归函数来读取所有屏幕,而不是在每个屏幕上编写单独的安全代码。

图形设计是另一个非常适合递归问题的领域。想象一下一个设计用来在一个正方形中创建一个正方形的程序。较小的正方形具有与较大正方形相同的功能要求,唯一的变化是两个正方形的尺寸。

排序算法是一个逻辑问题,其中项目列表必须按特定顺序排序。这种类型的问题解决需要不断地将一个列表洗牌到一个新列表中,直到最终的列表按需要排序。解决此问题的一个好方法是创建一个递归循环,该循环将继续洗牌列表,直到它被排序到最终列表中。

软件自动化的威力使得递归的使用对于大多数系统所有者来说似乎微不足道。通常情况下,安全功能和列排序需要简单的鼠标点击或键盘敲击。在这个简单动作的掩护下,存在着实践中递归的复杂性和优雅性。

  • 发表于 2022-01-05 17:47
  • 阅读 ( 70 )
  • 分类:IT

你可能感兴趣的文章

递归(recursion)和迭代(iteration)的区别

...建软件应用程序的主要技术。 目录 1. 概述和主要区别 2. 什么是递归 3. 什么是迭代 4. 递归与迭代的相似性 5. 并排比较-递归与表格形式的迭代 6. 摘要 什么是递归(recursion)? 当函数在函数内调用自身时,称为递归。递归有两种类...

  • 发布于 2020-10-19 23:58
  • 阅读 ( 284 )

动态规划:示例、常见问题和解决方案

... 什么是动态规划(dynamic programming)? ...

  • 发布于 2021-03-27 03:54
  • 阅读 ( 207 )

什么是递归?如何使用它?

... 什么是递归函数(a recursive function)? ...

  • 发布于 2021-03-29 05:32
  • 阅读 ( 236 )

36款隐藏的谷歌搜索游戏和复活节彩蛋

...取二?),只需单击“再次翻转” 搜索:有趣的事实 有什么地方能比上网更好地查找随机事实呢?如果你在谷歌搜索中输入“有趣的事实”或“我很好奇”,结果的顶部面板会出现一个随机的事实。你可以通过点击“问另一个...

  • 发布于 2021-04-01 13:37
  • 阅读 ( 293 )

如何在windows上删除x天以前的文件

...或PowerShell。 电源壳3 Get-ChildItem –Path  “C:\Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item 电源壳2 Get-ChildItem –Path  “C:\Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item 解...

  • 发布于 2021-04-12 03:31
  • 阅读 ( 105 )

快速排序(quick sort)和合并排序(merge sort)的区别

...织或分类,那么在字典里搜索单词是多么困难。这就是为什么字典里的词条是按标准的字母顺序排列的。通过排序,许多任务和计算变得毫不费力。这就是排序算法的用武之地。 排序算法只不过是一种将列表中的元素按特定顺...

  • 发布于 2021-06-25 22:32
  • 阅读 ( 453 )

权威(authoritative)和递归dns(recursive dns)的区别

...组织运行自己的公共递归DNS服务器。 覆盖的关键领域 1.什么是DNS–定义,功能2.什么是权威DNS服务器–定义,功能3.什么是递归DNS服务器–定义,功能4.权威DNS和递归DNS之间的区别是什么–主要区别的比较 关键术语 权威DNS,DNS,...

  • 发布于 2021-07-01 03:14
  • 阅读 ( 815 )

递归(recursion)和环(loop)的区别

...术都有助于开发小型到复杂的程序。 覆盖的关键领域 1.什么是递归-定义,功能2.什么是循环-定义,功能3.递归和循环的区别是什么-关键区别的比较 关键术语 执行While循环,For循环,循环,递归,While循环 什么是递归(recursion)?...

  • 发布于 2021-07-01 05:19
  • 阅读 ( 300 )

递归下降分析(recursive descent parsing)和预测分析(predictive parsing)的区别

...解析树,并逐步向下移动到叶节点。 覆盖的关键领域 1.什么是递归下降分析-定义,功能2.什么是预测分析-定义,功能3.下降分析和预测分析之间的关系是什么-关联概述4.下降分析和预测分析之间的区别是什么-关键区别的比较 关...

  • 发布于 2021-07-01 10:23
  • 阅读 ( 788 )

树(tree)和二叉树(binary tree)的区别

...数据结构称为树。二叉树是一种树。 覆盖的关键领域 1.什么是树–定义,功能2.什么是二叉树–定义,功能3.树和二叉树之间的关系是什么–关联概述4.树和二叉树之间的区别是什么–关键区别的比较 关键术语 二叉树,非线性数...

  • 发布于 2021-07-01 11:01
  • 阅读 ( 248 )
x346344676
x346344676

0 篇文章

相关推荐