作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有一系列组合算法,基于以下技术 - 我们观察结构的某些属性,然后使用该属性遍历所有可能/可访问的线性变体(或接近,无论如何,并不重要) 时间,没有递归。
例子
字典排列a 1 ..一个[n]
n 的 k 个子集
n 的分区(按降序排列)
我想,这足以说明此类算法的本质。这些以及其他一些示例可以在优秀的书籍“Algorithms and Programming: Problems and Solutions”中找到。
我的问题如下。能否请您在任何领域向我描述此类算法的更多示例。如果您还提供算法本身,那就太好了(换句话说,如上所示,更可取)。也欢迎引用书籍、文章。也欢迎引用相关理论问题(例如,我只是不知道何时可以构建此类算法,何时不能)。
提前致谢。
最佳答案
考虑算法族中的算法 A。要么A已经是可迭代的,要么是递归的,可以通过显式数据结构模拟调用栈,转化为等价的迭代算法。参见例如Wikipedia .
关于algorithm - 有序遍历的非递归算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275862/
我是一名优秀的程序员,十分优秀!