F:=;r:=;L[r]:=初始值;-图的广度优先搜索的应用
F:=0;r:=1;L[r]:=初始值; H:=1;w:=1;bb:=true; While bb do begin H:=h+1;g[h]:=r+1; For I:=1 to w do Begin F:=f+1; For t:=1 to操作数do Begin ⑴m:=L[f]; {出队列}; ⑵判断t操作对m结点的相邻结点进行操作;能则设标记bj:=0,并生成新结点;不能,则设标记bj:=1; if bj:=0 then {表示有新结点生成} begin for k:=1 to g[h]-1 do if L[k]=新结点then {判断新扩展的结点是否以前出现过} begin bj:=1;k:=g[h]-1 end; if bj1 then {没有出现过} Begin r:=r+1;L[r]:=新结点;b[r]:=f;c[r]:=t end;变量名表示含义F队列首指针R队列尾指针W该层顶结点的数目数组L队列数组b该结点的前趋指针数组c生成该结点的操作数H搜索树的层数G[h]第h层首结点的位置编号
313.5KB
文件大小:
评论区