跳到主要内容

Recursive Function

递归函数通过「自我调用」分解问题,适合树、分形结构、数学递推;要注意基准情形避免栈溢出。

项目中的实现

  • 源码: src/recursiveFunction.ts
  • 导出: TreeNode(类型)、factorialRecursiveflattenTree

各函数示例

factorialRecursive

import { factorialRecursive } from 'wssf-kage-js';

factorialRecursive(5); // => 120

flattenTree

import { flattenTree } from 'wssf-kage-js';

flattenTree({
value: 'root',
children: [{ value: 'a' }, { value: 'b', children: [{ value: 'c' }] }]
});
// => ['root', 'a', 'b', 'c']

什么时候优先用

  • 树形 JSON、目录、AST 遍历
  • 问题天然可分解为同构子问题