大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:java全排列遞歸算法

Java基礎學習:java全排列遞歸算法

更新時間:2020-04-10 14:04:48 來源:動力節(jié)點 瀏覽2556次


    全排列


    解法一:


    輸入一串字符,然后對字符進行全排列,如“abc”,全排列結果為:"abc","acb","bac","bca","cab","cba".


    分析:從字符串中選擇一個作為第一個字符,然后對剩下的字符串進行全排列,如此遞歸下去,直到打印出全部排列。如:"abc":


    1、選a作為第一個字符:”abc“,”acb“;


    2、選b作為第一個字符:”bac“,”bca“;


    3、選c作為第一個字符:”cab“,”cba“;


    參考代碼如下:


Java基礎學習:java全排列遞歸算法


    解法二:


    這種解法是將字符串從小大倒排序,以此得到整體的最小順,然后找到次小順序,直到得到最大順序,也就是從大到小的順序,如:”23415“,最小順序是:"12345",次小順序是:”12354“,........直到最大順序:”54321“。這里重點是找到某個順序值得下一個順序。找下一個順序的算法如下:假設到了”21543“,從后往前找到i-1位置小于i位置的下標,1<5,所以要找的下表pos=1,將下標為1的數(shù)字1,和它后面最小的且大于它的數(shù)替換,”21543”--->"23541",然后再將下標1后面的字符串翻轉得到:"23145",這就得到了“21543”下一個順序值“23145”,如此下去,直到輸出所有結果。


    參考代碼如下:


Java基礎學習:java全排列遞歸算法


    排列算法的結果總共有n!個,所以時間復雜度至少n!級別。


    組合算法


    組合算法代碼比較簡單,可以讀代碼理解:



Java基礎學習:java全排列遞歸算法


    放回全排列


    放回全排列就是類似于三個篩子總共有6*6*6=216中結果。使用遞歸思想解決,代碼比較簡潔。


    參考代碼如下:


Java基礎學習:java全排列遞歸算法


 以上就是動力節(jié)點java培訓機構的小編針對“Java基礎學習:java全排列遞歸算法”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 6一10周岁毛片免费 6一10周岁毛片在线 | 国产精品久久久久这里只有精品 | 国产精品午夜高清在线观看 | 成人小视频免费在线观看 | 欧美一级aa天码毛片 | 欧美成人a| 中文字幕美日韩在线高清 | 国产成人亚洲欧美三区综合 | 成人精品综合免费视频 | 亚洲精品亚洲九十七页 | 天天爱天天做天天爽天天躁 | 狠狠操夜夜操 | 日本囗交做爰视频欧美 | 夜夜撸日日干 | 国产精品高清视亚洲一区二区 | 欧美一区欧美二区 | 亚洲男人天堂久久 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 91网红福利精品区一区二 | 久久久免费观成人影院 | 涩涩免费播放观看在线视频 | 国产精品一区二区欧美视频 | 黄动漫在线无限看免费 | 羞羞视频免费网站在线 | 国产精品久久天天影视 | 日韩精品欧美高清区 | 欧美网色| 97影院午夜在线观看琪琪 | 欧美毛片一级的免费的 | 午夜看一级特黄a大片黑 | 天天干天天色天天干 | 免费国产一区二区三区四区 | 伊人天天躁夜夜躁狠狠 | 91精品国产一区二区三区左线 | 日本久久中文字幕精品 | 亚洲香蕉毛片久久网站老妇人 | 成人小视频在线观看免费 | 国产亚洲一区在线 | 国产一级爱c片免费播放 | 中文字幕一区二区三 | 日本一级毛片在线看 |