我正在寻找一个算法(或C类实现,没有itertools可用),它生成所有元组 [a_0 a_1 ... a_(n-1)],使得0 < = a_i < = i + 1。也欢迎文学指导。生成元组模索引
生成元组模索引
回答
这样的事情?
void printTuples (int n, int[] a, int i=0) {
if (i == n) {
//print a
return;
}
for (int j=0; j<=i+1; j++) {
a[i] = j;
printTuples (n, a, i+1);
}
}
你需要j <= i + 1可能在循环条件下。 – Vladimir 2010-07-26 14:07:54
@Vladimir修复,谢谢。 – 2010-07-26 14:10:15
我也假设a_i> = 0。 – 2010-07-26 14:11:09
它被称为回溯。搜索关于它的维基百科。你可以做递归或迭代。
埃米尔,他希望在0和i + 1之间,而不是在0和i之间。我认为将数组传递到堆栈的速度要慢于将它们作为全局数组访问。
我想你想是这样的:
int a[YOUR_LENGTH];
void backtracking (int n, int counter) {
if (counter == n) {
// do whatever
return;
}
for (int j = 0; j <= counter + 1; ++ j) {
a[counter] = j;
backtracking(n, counter + 1);
}
}
我修正了<=问题,数组作为指针传递。无论如何,我不知道他将使用哪种语言和平台,所以它并不真正相关。 – 2010-07-26 14:15:11
通常最好避免使用全局变量。这是回溯,你可能通过使用全球赢得的几毫秒绝对不值得。 – IVlad 2010-07-26 14:32:57
特奥多,你忘了用'柜台'代替'艾米尔'的解决方案,不是吗?感谢有关'回溯'的信息。 – 2010-07-26 17:14:04
- 1. 生成随机数组索引?
- 2. 生成元组
- 3. 从元组生成元组
- 4. pyrouge元组索引
- 5. Python索引元组
- 6. 在Linq中生成索引
- 7. 如何生成API索引?
- 8. 随机索引生成器
- 9. 使用np.triu_indices生成索引
- 10. 不是generateModelsFromYaml()生成的学说搜索索引模型
- 11. 动态生成数组索引的所有可能组合
- 12. Python元组索引问题
- 13. PYOMO:元组索引集
- 14. 类型索引元组
- 15. Python数组 - 索引元素
- 16. Python Pandas - 将索引作为组的名称/索引生成数据框
- 17. Doxygen组和模块索引
- 18. 如何生成元组?猪
- 19. Scala:生成Ints的元组
- 20. 数组索引与数组元素
- 21. 如何在python中访问生成器索引处的元素?
- 22. 删除元素后如何重新生成索引
- 23. 使用Linq生成列表元素索引的地图
- 24. 鉴于淘汰赛模式,对如何生成字母索引
- 25. 如何设置SQL Server来生成分组索引?
- 26. iOS/GL bug,生成索引数组的问题
- 27. 如何将数组索引添加到JAXB生成的XML中?
- 28. 生成一个数组的随机索引
- 29. 生成所有组合的列表并保持索引位置
- 30. R:生成索引值来增加组中向量的值
有没有对A_I任何其他限制?例如a_i> = 0? – 2010-07-26 14:07:13
a_i> = 0,是的!谢谢! – John 2010-07-26 14:24:36