我正在尋找一個算法(或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