深度优先搜索和广度优先搜索反映在数据结构上的差别是什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 11:30:55
深度优先搜索和广度优先搜索反映在数据结构上的差别是什么?
xSNQ}8}"&MCҷ&~@2XɀI ^LA 4T 3'~g0#v^{Z8%޶kE*MAq0b oaA9<=лIzr P~a"zOYuKOA$O/+7q7y3ՔI$ ,TXTKݑEƽ%+3.nIpeLAO7H>Ai4C܏Bg^G:UJ]tH sox]=jYGƣ(-Zj`-)ƣ A [!x}!cˎzL&9='L; />0?,5nd ZmʞmڽkP*pRE.d#̇q,8ѽaMUP'gL'Yec+S%q Z#%10Nl3Ȣ$z–Y@=6 ִE6=D; Pڱ1׉lnNLYİYi`ixw:ۚI< ?ҘvVZ,K!d3To_ִԅ~W<ʶ?4'ֱ*U^ a'o%um-ea}|s)$y.{<

深度优先搜索和广度优先搜索反映在数据结构上的差别是什么?
深度优先搜索和广度优先搜索反映在数据结构上的差别是什么?

深度优先搜索和广度优先搜索反映在数据结构上的差别是什么?
深优
算法框架(递归基本算法)
Procedure DFS(dep);
begin
For i:=1 to max_i do {共有max_i种可能情况}
If 某种可能符合条件 then begin
采用这种可能情况;
if 达到目标 then 输出
 else dfs(dep+1);
把这种情况取消;
end;
end;
广优
一.算法框架
Program BFS;
初始化,存储初始状态(记录初始结点);
设队列首指针closed=0;队列尾指针open:=1;
repeat
首指针closed后移一格,取其所指向的结点;
for r:=1 to max_r do
begin
if子结点符合条件 且 子结点没有重复扩展 then
begin
尾指针open加1;把新结点存入队列尾;
记录相关信息;
if 达到目标 then 输出且结束;
end;
until closed>=open(队列空)
加分啊!