• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 6, 文章 - 0, 評論 - 24, 引用 - 0
            數據加載中……

            Permutation—全排列

            Permutation—全排列

            l  簡介

            一個全排列是從一個有限集中選取元素,組成一個有序的序列,并且所有的元素出現且僅出現一次。

            l  全排列的計數

            n  當集合中元素互異時,顯然全排列總共有n!個。

            n  現在考慮集合中存在重復元素的情況:

            1.     我們首先看一個簡單的例子。

            2.        設例子中的全排列數為P,那么我們將這P個排列中重復的元素1看成互異的,假設標記為11’,那么對于每種排列都能生成P(2) = 2!個惟一的新排列,而這些新排列恰好構成了3個互異元素的全排列,因此P = P(3) ÷P(2) = 3

            3.        假設n個元素的多重集合中有m個互異的元素,各元素出現的次數分別為a1, a2, … , am,且滿足(a1 + a2 + … + am) = n那么這個集合形成的全排列個數為

            4.        m = n時,上式的結果即為n!

            l  生成全排列

            n  遞推生成:每次輸出當前序列的下個全排列,直到生成所有全排列。

            1.     按字典序生成:生成輸入序列按字典序的下個全排列。

            l  尋找從序列A末尾開始的最長非增連續子列S。保存子列S之前的一個元素為a,在上圖中,S = { 6, 5, 1 }a = 4

            l  容易看出S是其元素的字典序最大全排列,如圖中的{ 6, 5, 1 },因此無法通過在S內部交換元素得到A的下個字典序全排列,因此只需找出a + S,即序列{ 4, 6, 5, 1 }中的下個全排列。從序列末尾開始,尋找第一個大于a的元素b,如圖中的5,交換ab。這樣我們更新了S之前的一個元素,只要將S變為其元素的字典序最小全排列即可得到A的下個字典序全排列;

            l  翻轉S,由于S非增的(交換ab后還是如此),那么翻轉后自然變成非減序列,即其元素的字典序最小全排列

            l  以上算法即C++std::next_permutation函數的實現。

            2.     無序生成:生成輸入序列的下個全排列,各全排列間并不遵循特定的順序。

            未完,待續……

            posted on 2009-03-30 20:56 yuyang7 閱讀(2406) 評論(0)  編輯 收藏 引用 所屬分類: 算法

            久久人人爽人人爽人人片AV不 | 久久久久高潮综合影院| 亚洲&#228;v永久无码精品天堂久久| 国产精品日韩深夜福利久久| 香蕉久久影院| 人妻精品久久无码区| 国产亚洲精午夜久久久久久| 国产成人精品综合久久久| 大香网伊人久久综合网2020| 亚洲色欲久久久综合网东京热| 亚洲狠狠综合久久| 人妻无码αv中文字幕久久琪琪布| 欧美激情精品久久久久| 狠狠色丁香久久婷婷综合| 亚洲伊人久久大香线蕉苏妲己| 久久夜色精品国产www| 久久精品aⅴ无码中文字字幕不卡| 久久久精品久久久久特色影视| 久久精品aⅴ无码中文字字幕不卡| 午夜精品久久久久久久无码| 久久免费线看线看| 精品久久久久久国产潘金莲 | 亚洲va久久久久| 亚洲国产成人久久精品动漫| 久久精品国产清高在天天线| 久久99国产精品久久99小说| 91久久香蕉国产熟女线看| 99久久免费国产特黄| 69久久精品无码一区二区| 人妻无码中文久久久久专区| 久久人人爽人人爽人人片AV不| 亚洲日本va午夜中文字幕久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 亚洲国产精品成人久久| 99精品国产综合久久久久五月天| 精品久久久久久久国产潘金莲 | 久久婷婷五月综合国产尤物app| 久久这里只精品99re66| 久久久久久久波多野结衣高潮| 亚洲中文字幕无码久久精品1| 亚洲精品国产美女久久久|