笛卡尔积算法的Java实现:
(1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。
(2)如果该列到尾部了,则这列index重置为0,而CounterIndex则指向前一列,相当于进位,把前列的index加一。
(3)最后,由生成的行数来控制退出循环。
public class Test {
private static String[] aa = { "aa1", "aa2" };
private static String[] bb = { "bb1", "bb2", "bb3" };
private static String[] cc = { "cc1", "cc2", "cc3", "cc4" };
private static String[][] xyz = { aa, bb, cc };
private static int counterIndex = xyz.length - 1;
private static int[] counter = { 0, 0, 0 };
public static void main(String[] args) throws Exception {
for (int i = 0; i < aa.length * bb.length * cc.length; i++) {
System.out.print(aa[counter[0]]);
System.out.print("\t");
System.out.print(bb[counter[1]]);
System.out.print("\t");
System.out.print(cc[counter[2]]);
System.out.println();
handle();
}
}
public static void handle() {
counter[counterIndex]++;
if (counter[counterIndex] >= xyz[counterIndex].length) {
counter[counterIndex] = 0;
counterIndex--;
if (counterIndex >= 0) {
handle();
}
counterIndex = xyz.length - 1;
}
}
}
输出共2*3*4=24行:
aa1 bb1 cc1
aa1 bb1 cc2
aa1 bb1 cc3
aa1 bb1 cc4
aa1 bb2 cc1
aa1 bb2 cc2
aa1 bb2 cc3
aa1 bb2 cc4
aa1 bb3 cc1
aa1 bb3 cc2
aa1 bb3 cc3
aa1 bb3 cc4
aa2 bb1 cc1
aa2 bb1 cc2
aa2 bb1 cc3
aa2 bb1 cc4
aa2 bb2 cc1
aa2 bb2 cc2
aa2 bb2 cc3
aa2 bb2 cc4
aa2 bb3 cc1
aa2 bb3 cc2
aa2 bb3 cc3
aa2 bb3 cc4
- 大小: 16.8 KB
分享到:
相关推荐
主要介绍了Java笛卡尔积算法原理与实现方法,结合实例形式较为详细的分析了笛卡尔积算法的原理及java定义与使用笛卡尔积算法的相关操作技巧,需要的朋友可以参考下
主要介绍了Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法,结合实例形式分析了Java使用递归与循环两种方式实现未知维度集合的笛卡尔积相关概念、原理与操作技巧,需要的朋友可以参考下
js 笛卡尔积算法的实现代码,据对象或者数组生成笛卡尔积,并介绍了一个javascript多重数组笛卡尔积的例子,以及java实现笛卡尔积的算法与实例代码。 一、javascript笛卡尔积算法代码 例子,根据对象或者数组生成...
本文实例讲述了javascript笛卡尔积算法实现方法。分享给大家供大家参考。具体分析如下: 这里可根据给的对象或者数组生成笛卡尔积 //笛卡儿积组合 function descartes(list) { //parent上一级索引;count指针计数 ...
说明:本人前段时间遇到的求n个数组的所有排列组合的问题,发现笛卡尔积算法可以解决,但是网上搜索的只有Java版本的实现,于是自己试着用python实现,由于新手代码不太规范。 代码:本人封装了一个类Cartesian...
java写的笛卡尔心形图,里边用了笛卡尔算法,代码不多..
tle卫星轨道数据转成笛卡尔系坐标
使用ISAP算法进行二分图匹配 Bigraph-Matching(Improved-Shortest-Augmenting-Path) 普通的二叉搜索树 Binary-Search-Tree 广度优先搜索 Breadth-First-Search 冒泡排序 Bubble-Sort 桶排序 Bucket-Sort 笛卡尔树 ...
该项目包括用于程序分析领域的库和应用程序的集合。 起点是使用Agesen的笛卡尔积算法对Java程序进行类型分析。
笛卡尔积组 戒指 数学提供以下代数环和字段: 布尔环 笛卡尔积环 形式为x ^ d + c的多项式的字段扩展类 整数环 多项式环 素数p的环Zn和场Zp 其它功能 数学还实现了许多其他功能: 多幂运算算法 递延评估组操作以自动...
上面的例子可以这样表示A>BB>C在社交网络任何一个活跃的用户U都存在对应的两个集合,一个是粉丝集合,一个是关注集合,以用户U作为中间联系的2度人脉对,是粉丝集合和关注集合的笛卡尔积。于是在M
笛卡尔树 B树 红黑树 展开树 AVL树 ####堆 链表(排序) 链表(未排序) 二叉堆 二项堆 斐波那契堆 ####图表 邻接表 发生率列表 邻接矩阵 发生率矩阵 ###语言 Julia 去 Python 哈斯克尔 C 锈 Javascript Java7 ...
我们还将展示用于以各种编程语言实现这些数据结构的方法。 例如Java,C,C ++,Golang,Python3,JavaScript 如何使用 如果您愿意,可以通过以下内容参考在我们的存储库中进行浏览。 或者,您可以简单地在系统中...
给定一组城市和一组值,这些值对应于该组城市及其自身的笛卡尔积中的每个元素。 每个值表示对应对的两个元素之间的距离。 将使用遗传算法从解决方案池中选择多个解决方案,并通过使用适应度函数确定哪个解决方案...
这段代码本来是一道比较经典的算法题,有很多种方法可以解决,比如直接对所有数组加起来做全排列,或者每个数组选一个数做,哪怕直接调用Python的函数直接算笛卡尔积都可以,网上有很多类似的资源。但是这些方法存在...
这样做的自然,天真的算法会计算两个表的笛卡尔积,然后丢弃与错误的区块组相对应的行。 由于Hive不支持空间索引,因此它将评估此查询: create table default.overlap as select io.*, cg.geoid from default....
Sunpy 的实现基于 Thompson (2006), A&A, 449, 791 PDF 支持的转换至高光H C C 高压电H G R T N F 电阻哦米斯托尼赫斯特日光坐标 (HG) X ✓ ✓ 日心笛卡尔坐标 (HCC) ✓ X ✓ ✓ 日射-笛卡尔坐标 (HPC) ✓ ✓ X ...
此处定义的位置坐标基于基本的笛卡尔平面,在该笛卡尔平面中,可以使用欧几里德距离公式轻松计算相同距离单位的点之间的距离。 两个有序坐标点之间的差表示有效的行进距离。 转换为其他天文台的距离单位的给定...
这段代码在正笛卡尔平面上生成一个随机的、封闭的迷宫,如下图所示。 (0,0) ----------> X | | | Positive Plane | v Y 它采用的算法是从完全封闭迷宫中的每个单元格开始。 检查迷宫中的随机墙,如果墙两侧的...
此代码以笛卡尔坐标中的一组给定 (x,y) 点为输入,并返回包围这些点的最小圆的中心和半径。 这段代码基于 Yazan Ahed 的代码,在算法上没有变化,只在结构上有变化。 前面的代码是基于这里找到的非常好的 Java 小...