📜  为什么算法比流程图更受欢迎?

📅  最后修改于: 2021-10-19 05:45:33             🧑  作者: Mango

算法仍然统治着软件世界。可以使用算法将复杂的代码分解为更小、更低调的块。有人可能想知道流程图也可以帮助建立对代码的正确理解,但答案是否定的。在回答为什么算法仍然优于流程图的问题之前,让我们看看算法和流程图在技术方面的含义。

算法

算法是指构成程序代码的一组语句。它们是用一种简单易懂的语言逐步编写的。英语是算法最常用的语言。这些是算法的 5 个主要属性:

  1. 输入:每个算法都由一个或多个输入组成。
  2. 输出:每个算法都会产生一个输出。
  3. 有效性:每个算法都可以用笔和纸写出来。
  4. 有限性:使用的每个函数都会返回一些值。
  5. 确定性:每个算法都是独一无二的。
  6. 复杂度:算法的复杂度是指算法执行所需的时间和空间量。这是算法的一个因素。

算法的第一步写成Begin表示算法开始,最后一步写成End表示算法结束。

流程图

流程图是指算法的图形或图形表示。该算法通常以形状的形式显示。

  • 开始或停止以椭圆形表示。
  • 输入或输出以平行四边形表示。
  • 处理语句以矩形表示。
  • 决策陈述以菱形表示。
  • 每个形状都使用箭头(->)链接

流程图比算法更容易理解,因为它们以图形形式表示。人们可以通过查看流程图轻松编写代码。然而算法仍然是首选,原因如下:

  • 甚至可以为复杂的代码编写算法,而在流程图中则变得困难。
  • 条件和循环语句可以用算法编写,但这些语句不能用流程图表示。
  • 算法的调试更容易,而流程图无法调试,因为这样做非常复杂。
  • 在流程图的情况下有一些规则要遵循,但算法没有特定的规则。

考虑将两个偶数相加的简单算法:

该算法是用简单易懂的语言编写的。可以很容易地为此编写代码。这在流程图的情况下是不可能的,因为有条件语句,如算法中给出的 if….else 语句。许多顶级组织更喜欢算法而不是流程图来编写代码。这是以更简单的语言正确理解代码的最佳方式。