【導(dǎo)讀】影響搜索效率的因素。逐一判斷所有可能的方案是否是問題的解。例1:求出A-I這九個字母對應(yīng)的數(shù)字(1-9),枚舉ABCDE的值,計(jì)算乘積,判斷是否符合要求。有順序有策略地枚舉狀態(tài)空間中的結(jié)點(diǎn),尋找問題的解。優(yōu)先擴(kuò)展淺層結(jié)點(diǎn),逐漸深入。用隊(duì)列保存待擴(kuò)展的結(jié)點(diǎn),從隊(duì)首隊(duì)取出結(jié)點(diǎn),擴(kuò)展出。廣度優(yōu)先搜索的代碼框架。取隊(duì)首結(jié)點(diǎn)擴(kuò)展,并將擴(kuò)展出的結(jié)點(diǎn)放入隊(duì)尾;必要時要記住每個結(jié)點(diǎn)的父結(jié)點(diǎn);深度優(yōu)先搜索的棧實(shí)現(xiàn)(非遞歸)框架。個新節(jié)點(diǎn)就不必再考慮。怎樣才能較快的找到重復(fù)結(jié)點(diǎn)?每個字符8個bit,可以存放8個狀態(tài)標(biāo)志位。位序列最多需要99位,因。合理編碼,減小存儲代價。方案一:每個節(jié)點(diǎn)對應(yīng)于一個九進(jìn)制數(shù),則4個字節(jié)。就能表示一個節(jié)點(diǎn)。把每個結(jié)點(diǎn)都看一個排列,以此排列在全部排列。判重用的標(biāo)志數(shù)組只需要362880字節(jié)即可。時間與空間的權(quán)衡。對于狀態(tài)數(shù)較小的問題,可以用最直接的方式編碼以空。具體問題具體分析。輸出數(shù)據(jù)是一個移動序列,