`

算法:全组合

 
阅读更多
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo {

    private List<String> ITEM = Arrays.asList("1", "2", "3");

    private int SIZE = 3;

    public void array() {
        List<String> data = new ArrayList<String>();

        for (int i = 1; i <= SIZE; i++) {
            array(data, ITEM, "", i);
        }

        for (String str : data) {
            System.out.println(str);
        }
    }

    public void array(List<String> data, List<String> item, String prefix, int len) {

        if (prefix.length() == len) {
            data.add(prefix);
            return;
        }

        for (int i = 0; i < item.size(); i++) {

            List<String> tmp = new ArrayList<String>(item);

            array(data, tmp, prefix + tmp.get(i), len);
        }
    }
}

 

1
2
3
11
12
13
21
22
23
31
32
33
111
112
113
121
122
123
131
132
133
211
212
213
221
222
223
231
232
233
311
312
313
321
322
323
331
332
333

 

分享到:
评论

相关推荐

    人工智能和机器学习之分类算法:CatBoost:CatBoost自动特征组合.docx

    人工智能和机器学习之分类算法:CatBoost:CatBoost自动特征组合.docx

    遗传算法在投资组合中的应用

    "遗传算法在投资组合中的应用" 知识点1: 遗传算法的概念和原理 遗传算法(Genetic Algorithm,简称GA)是一种智能优化算法,起源于对生物系统的计算机模拟研究。它模仿自然界生物进化机制,发展起来的随机全局搜索...

    组合优化理论和算法

    组合优化理论和算法是数学优化领域中研究离散变量问题的一门重要分支,其核心是寻找在一组可能的解中,满足特定约束条件下能够使得目标函数值达到最优的解。组合优化问题广泛存在于运筹学、计算机科学、工程设计、...

    漫画算法:小灰的算法之旅.pptx

    5.动态规划:动态规划是一种算法,通过将问题分解成若干个子问题,然后从子问题开始求解,一旦解决了所有的子问题,就可以将它们组合起来解决原始问题。小灰用简单的语言描述了动态规划的核心思想:“动态规划的核心...

    代码 离散型遗传算法求解组合优化代码

    代码 离散型遗传算法求解组合优化代码代码 离散型遗传算法求解组合优化代码代码 离散型遗传算法求解组合优化代码代码 离散型遗传算法求解组合优化代码代码 离散型遗传算法求解组合优化代码代码 离散型遗传算法求解...

    组合最优化算法和复杂性

    组合最优化算法与复杂性是计算机科学与运筹学交叉领域的重要研究对象。该领域致力于寻找在限定条件下求解最优化问题的有效方法,以及对这些问题复杂度的理论分析。本书作为普林斯顿大学的经典教材,详细介绍了组合最...

    组合优化:精确算法和近似算法Combinatorial Optimization: Exact and Approximate Algorithms

    由于组合优化问题往往涉及到大量潜在解的搜索,解决这些问题常常需要使用复杂的算法。 根据给定文件内容,我们可以提取出以下几个核心知识点: 1. 精确算法:这是指能够找到问题最优解的算法。在组合优化中,精确...

    组合数学及其算法(杨振生)

    **组合数学及其算法** 组合数学是一门研究有限集合中元素排列、组合以及各种计数问题的数学分支。在计算机科学中,它具有极其重要的地位,因为很多算法设计和复杂性分析都离不开组合数学的理论支持。杨振生教授的...

    组合数学的算法与程序设计

    因为程序设计的核心是算法研究,而组合算法是算法的主要内容。没有组合数学的基础,就无法深入研究算法和分析算法。竞赛试题的形式和类型干变万化,但通常蕴涵某个组合数学方面的问题,这些问题很能推动人们去...

    新的仿生算法:蟑螂算法

    蟑螂算法是一种最新的基于仿生学的元启发式优化算法,对解决组合优化问题有很好的结果。

    基于c语言排列组合算法

    基于C语言排列组合算法 排列组合是计算机科学中一个重要的概念,它广泛应用于数学、统计学、计算机科学等领域。排列组合问题的算法设计是指如何高效地生成所有可能的排列或组合。今天,我们将讨论基于C语言的排列...

    组合数学及其算法

    2.5 组合生成算法 .2.6 应用举例 习 题 第三章 容斥原理 3.1 引 言 3.2 容斥原理 3.3 几个重要公式 3.4 错位排列 3.5 有限制的排列 3.6 棋阵多项式 3.7 禁位排列 习 题 第四章 鸽巢原理 4.1...

    动态规划,分治算法,概率算法,模拟退火算法,搜索算法,贪婪算法,网上matlab,遗传算法,组合算法

    本篇文章将深入探讨标题和描述中提到的一些核心算法,包括动态规划、分治算法、概率算法、模拟退火算法、搜索算法、贪婪算法、在线MATLAB应用、遗传算法以及组合算法。 1. **动态规划**:动态规划是一种解决具有...

    创新组合算法

    创新组合算法是一种在计算机科学和信息技术领域广泛应用的算法设计策略,它主要涉及到如何将不同的算法元素或技术有效地组合在一起,以解决复杂问题或优化现有解决方案。这种算法通常用于数据挖掘、机器学习、优化...

    PHP实现多种类型的排列组合算法

    在编程领域,排列组合算法是解决许多问题的关键,特别是在数据处理、数据分析以及各种优化问题中。PHP作为一种流行的服务器端脚本语言,虽然不是为高性能计算而设计,但其丰富的库和简洁的语法使得实现这些算法变得...

    matlab优化算法:2专题 精通遗传算法通过九个matlab建模案例.zip

    8. **案例八:投资组合优化**:遗传算法可以用于金融领域的投资组合优化,以最大化预期回报同时控制风险。 9. **案例九:物流路径规划**:遗传算法可以用于规划物流配送路线,减少运输成本和时间,提高效率。 每个...

    C#递归算法:0~N位数的排列组合

    摘要:C#源码,随书源码,递归算法,排列组合 C#递归算法:0~N位数的排列组合,组合的数字在0~5之间,输入需要组合的位数,点击“计算”按钮,程序会列出所有符合条件的数列组合。一个学习C#递归算法的好范例。

    C#实现排列组合算法完整实例

    在C#编程中,排列组合算法是解决许多数学和计算机科学问题的基础,特别是在处理数据排序、统计计算以及算法设计时。本实例详细介绍了如何利用C#实现这两种基本的算法:排列(Permutation)和组合(Combination)。...

    C++经典算法(全代码版本)又名standard code library

    《C++经典算法(全代码版本)又名standard code library》是一份珍贵的资源,它包含了大量的C++算法实现,涵盖了计算机科学中的多种基础及高级算法。这份资料不仅提供了理论介绍,更注重实践,每种算法都有对应的...

Global site tag (gtag.js) - Google Analytics