关于递归

需要递归吗?
  │
  ├── 不需要 → 不用递归
  │
  └── 需要 → 状态需要跨层共享吗?
            │
            ├── 不需要(每层独立)→ 值传递
            │     例:路径和、深度、临时变量
            │
            └── 需要(共享+修改)→ 引用传递
                  │
                  ├── 修改后需要"撤销"吗?
                  │     │
                  │     ├── 需要 → 引用 + 手动回溯
                  │     │     例:回溯算法、path收集
                  │     │
                  │     └── 不需要 → 纯引用
                  │           例:结果收集器、线索化pre
                  │
                  └── 只读共享 → const引用(大对象避免拷贝)
                        例:共享的查询表、配置对象
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务