在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python回溯
Python樹遍歷算法
Python雙端隊(duì)列
Python隊(duì)列
Python回溯
Python棧
Python數(shù)據(jù)結(jié)構(gòu)開發(fā)環(huán)境
Python數(shù)據(jù)結(jié)構(gòu)簡介
Python算法分析
Python圖遍歷算法
Python搜索算法
Python圖
Python鏈表
Python集合
Python元組
Python字典
Python矩陣
Python高級鏈表(雙向鏈表)
Python搜索樹
Python二維數(shù)組
Python堆
Python節(jié)點(diǎn)
Python排序算法
Python數(shù)據(jù)結(jié)構(gòu)
Python遞歸
Python列表
Python數(shù)組
Python算法設(shè)計(jì)
Python哈希表

Python回溯

回溯是遞歸的一種形式。 但它涉及選擇任何可能性的唯一選擇。我們從選擇一個(gè)選項(xiàng)開始,并從中退出。如果達(dá)到一個(gè)狀態(tài),會(huì)得出這樣的結(jié)論:這個(gè)特定的選項(xiàng)不能提供所需的解決方案。 通過遍歷每個(gè)可用選項(xiàng)來重復(fù)這些步驟,直到獲得所需的解決方案。

以下是查找給定字母集合的所有可能排列順序的示例。 當(dāng)選擇一對時(shí),我們應(yīng)用回溯來驗(yàn)證是否已經(jīng)創(chuàng)建了該確切的一對。 如果尚未創(chuàng)建,則將該對添加到答案列表中,否則將被忽略。

def permute(list, s):
    if list == 1:
        return s
    else:
        return [ y + x
                 for y in permute(1, s)
                 for x in permute(list - 1, s)
                 ]

print(permute(1, ["a","b","c"]))
print(permute(2, ["a","b","c"]))

執(zhí)行上面示例代碼,得到以下結(jié)果 -

['a', 'b', 'c']
['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']

上一篇:Python樹遍歷算法下一篇:Python列表