`
jsntghf
  • 浏览: 2550847 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

笛卡尔积

阅读更多

实现一

module Enumerable
  def cartesian(other)
    res = []
    each { |x| other.each { |y| res << [x, y]}}
    return res
  end
end

 

实现二

module Enumerable
  def cartesian(other)
    inject([]) { |res, x| other.inject(res) { |res, y| res << [x, y] } }
  end
end

 

示例

p [1, 2, 3].cartesian(["a", "b", "c"])
[[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"], [3, "a"], [3, "b"], [3, "c"]]

 

实现二的代码更简洁,但实现一的代码更高效。

分享到:
评论

相关推荐

    笛卡尔积测试案例原理分析

    【笛卡尔积测试案例原理分析】 笛卡尔积是数据库查询中的一个重要概念,尤其在关联操作中,如果处理不当,可能导致严重的性能问题。笛卡尔积发生在两个或更多表进行连接(JOIN)时,若没有合适的连接条件,每个表的...

    html + js +vue实现商品sku 笛卡尔积

    SKU管理涉及到多个属性,如颜色、尺寸、样式等,这些属性的组合形成了一个庞大的笛卡尔积,使得每个商品变体都有唯一的标识。在本教程中,我们将探讨如何使用HTML、JavaScript和Vue.js来实现商品SKU的笛卡尔积计算。...

    c#语言实现笛卡尔积

    请输入笛卡尔积的个数:4 请输入第1个笛卡尔积的元素,中间用;分隔开 1;2;3 请输入第2个笛卡尔积的元素,中间用;分隔开 a;b 请输入第3个笛卡尔积的元素,中间用;分隔开 A;B;C;D 请输入第4个笛卡尔积的元素,中间用;...

    php 笛卡尔积二维数组矩阵算法

    php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵算法 生成多个组合 php 笛卡尔积二维数组矩阵...

    Matlab环境下直线特征匹配中笛卡尔积的应用.pdf

    1. 笛卡尔积概念:笛卡尔积是集合论中的一个基本概念,指的是两个集合中所有可能元素对的集合。具体来说,如果A和B是两个集合,那么A与B的笛卡尔积就是由A中的每个元素和B中的每个元素构成的有序对集合。在文档中...

    离散数学笛卡尔积

    这个是离散数学笛卡尔积,是数据库的笛卡尔积的原理. PPT

    C#笛卡尔积

    在编程领域,笛卡尔积是一种计算所有可能组合的方法,它源于数学中的集合论概念。当应用于两个或多个集合时,笛卡尔积会生成一个新集合,该集合包含第一个集合的每个元素与第二个集合的每个元素的配对。在C#编程中,...

    将两个表的数据通过笛卡尔积输出到新表中

    将两个表的数据通过笛卡尔积输出到新表中,通过Kettle 转换的形式跑的

    笛卡尔积sql

    笛卡尔积概念 以及实现,是你在实现数据统计以分析更加全面系统

    Java笛卡尔积算法原理与实现方法详解

    Java笛卡尔积算法原理与实现方法详解 Java笛卡尔积算法是一种重要的数据处理技术,广泛应用于数据分析、机器学习、数据挖掘等领域。下面将详细介绍Java笛卡尔积算法的原理与实现方法。 一、笛卡尔积算法原理 ...

    项目代码初级程序员python笛卡尔积相关

    项目代码,供大家参阅,比较简单,初级程序员的代码。

    离散数学 集合的并交差笛卡尔积

    本实验通过编写一个C++程序,让计算机来完成两个集合的交、并、差、笛卡儿积及子集及简单关系运算。目的是让同学们更加深刻的理解集合的运算规则,特别是集合的笛卡儿积运算是我们接触的一个新的集合运算规则。

    Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例

    Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例 Java语言中实现未知维度集合的笛卡尔积算法是数据处理和分析中的一个重要问题。本文将主要介绍Java基于递归和循环两种方式实现未知维度集合的笛卡尔...

    JavaScript笛卡尔积超简单实现算法示例

    在计算机科学领域,笛卡尔积是数学中的一个基本概念,用于描述两个集合元素间的所有可能组合。在编程语言JavaScript中实现一个笛卡尔积的算法是一个常见的练习题,对于理解数组操作、递归和函数式编程技巧很有帮助。...

    JS笛卡尔积算法与多重数组笛卡尔积实现方法示例

    JavaScript中的笛卡尔积算法是一种将多个数组的所有可能的元素组合成新的数组的计算方法。它在数据处理、组合分析和算法设计中具有广泛的应用。在本文中,我们将深入探讨两种JavaScript实现笛卡尔积的方法。 首先,...

    javascript笛卡尔积算法实现方法.docx

    JavaScript 笛卡尔积算法是一种用于计算多个集合所有可能的组合的方法。在计算机科学中,笛卡尔积是由所有可能有序对组成的集合,其中第一个元素来自第一个集合,第二个元素来自第二个集合,以此类推。在JavaScript...

    Matlab环境下直线特征匹配中笛卡尔积的应用.zip

    在这个主题中,“Matlab环境下直线特征匹配中笛卡尔积的应用”涉及到的是如何在寻找图像中直线特征时利用笛卡尔积这一数学工具。 首先,让我们理解笛卡尔积的概念。在数学中,笛卡尔积是两个集合A和B的元素对组成的...

    笛卡尔积的计算C++实现

    笛卡尔积的计算C++实现

    SAS-Cartesian-Product:SAS笛卡尔积

    SAS笛卡尔积 1.简介 如果您像我一样,可能很难想象要使用笛卡尔积的情况。 因此,当我发现它对解决的许多分析问题有用时,我感到很惊讶。 在这里,我讨论了在SAS中对笛卡尔乘积进行编程以仅解决以下分析问题之一: ...

    毕业设计MATLAB_CARTPROD:多组笛卡尔积.zip

    在MATLAB中,笛卡尔积(Cartesian Product)是一种数学概念的应用,用于组合两个或多个集合的元素,形成所有可能的有序对。在本毕业设计中,`MATLAB_CARTPROD`项目着重于实现这一功能,它对于数据分析、算法设计等领域...

Global site tag (gtag.js) - Google Analytics