国产探花免费观看_亚洲丰满少妇自慰呻吟_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],

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

圖片精選

主站蜘蛛池模板: 清徐县| 彭水| 绥宁县| 运城市| 天等县| 桃源县| 洞口县| 桑植县| 永嘉县| 婺源县| 永顺县| 韶山市| 台安县| 五原县| 油尖旺区| 嘉兴市| 洛川县| 新晃| 化德县| 南投县| 延安市| 青州市| 青海省| 三江| 商丘市| 哈尔滨市| 景谷| 巧家县| 常宁市| 涿鹿县| 大埔区| 当阳市| 龙州县| 镇坪县| 临江市| 饶河县| 仁寿县| 宜昌市| 白银市| 大悟县| 白玉县|