0

我想为递归函数创建一个流程图。但问题是有两行代码调用该函数并导致递归。在代码中它可能看起来很简单

function(array):
  if (base case) do: // base case check
     return
  if (array.length > 1) do:
     function(array= elements from 1 to array.length/2) // first call 
     function(array= elements from array.length/2 to array.length) // second call

但我不确定如何在流程图中显示这一点,我想做这样的事情:

在此处输入图像描述

看起来没有调用顺序,一般来说,如果 array.length 检查(第二次检查)为假,我不知道要显示什么

顺便说一句,我正在使用https://app.diagrams.net/

4

1 回答 1

0

您可以使用堆栈来表示流程图中的执行:

在此处输入图像描述

我在这里回答了类似的问题并提供了更多详细信息:https ://stackoverflow.com/a/68241088/1927695

于 2021-07-04T02:28:51.487 回答