国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript如何實現元素全排列實例代碼

2024-05-06 15:39:31
字體:
來源:轉載
供稿:網友

排列 (Permutation / Arrangement)

概念

n 個不同元素中任意選取 m (m <= n) 個元素進行排列,所有排列情況的個數叫做 排列數,其值等于:

A = n! / (n - m)!

! 表示數學中的階乘運算符,可以通過以下函數實現:

function factorial(n) { if (n === 0 || n === 1) { return 1;  } else if (n < 0) { return null;  } else { return n * factorial(n - 1); }}console.log(factorial(4)); // 24

當 n = m 時,稱為 全排列,其值等于:

A = n!

全排列相當于將所有元素進行排序,得到所有不同順序情況的個數;

分析

利用階乘函數,通過上述數學公式只能得到所有情況的個數值,不容易得到具體的每種情況,要獲取每種情況的輸出值的話需要另尋他法;

用數組舉例分析:

全排列:

    [1, 2, 3] => [             
                    [1, 2, 3],
                    [1, 3, 2],
                    [2, 1, 3],
                    [2, 3, 1],
                    [3, 1, 2],
                    [3, 2, 1]
                 ]
               
                共 6 種情況

    樹狀圖表示:
   
      1       2       3
     / /     / /     / /
    2   3   1   3   1   2
    |   |   |   |   |   |
    3   2   3   1   2   1   =>  6

3 個元素中選取 2 個時:(n = 3, m = 2)

    [1, 2, 3] => [             
                    [1, 2],

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 和静县| 西丰县| 呼和浩特市| 青州市| 广河县| 察雅县| 葫芦岛市| 广安市| 绥江县| 沿河| 海宁市| 攀枝花市| 天津市| 灵石县| 太仆寺旗| 城步| 灵宝市| 正蓝旗| 禄劝| 泗阳县| 隆子县| 西藏| 新疆| 临海市| 庐江县| 潮州市| 新野县| 金寨县| 交口县| 光泽县| 泰和县| 尉氏县| 临湘市| 盐亭县| 大竹县| 察哈| 肇源县| 武汉市| 康马县| 沾益县| 松溪县|