笛卡尔算法

Posted yinghuochongfighter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笛卡尔算法相关的知识,希望对你有一定的参考价值。

笛卡尔乘积是指在数学中,两个集合XY的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

例如,A={a,b}, B={0,1,2},则

A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}

B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

   function calcDescartes(array) {
        if (array.length < 2) return array[0] || [];
        return [].reduce.call(array, function (col, set) {
            var res = [];
            col.forEach(function (c) {
                set.forEach(function (s) {
                    var t = [].concat(Array.isArray(c) ? c : [c]);
                    t.push(s);
                    res.push(t);
                })
            });
            return res;
        });
    }
    console.log(calcDescartes([[1, 2, 3], [‘a‘, ‘b‘, ‘c‘]]));

技术图片

 

以上是关于笛卡尔算法的主要内容,如果未能解决你的问题,请参考以下文章

卡尔曼滤波器1——递归算法(笔记篇 + 代码实现)

(王道408考研数据结构)第六章图-第四节2:最小生成树之克鲁斯卡尔算法(思想代码演示答题规范)

卡尔曼滤波简介及其算法实现代码(C++/C/MATLAB)

最小生成树 普里姆算法和克鲁斯卡尔算法

优化算法迭代扩展卡尔曼滤波算法(IEKF)含Matlab源码 1584期

克鲁斯卡尔算法是怎样判断是不是构成了回路