宽搜中如何记录深度变化?(pascal)
创始人
2025-07-04 16:38:41
0次
宽搜中如何记录深度变化?(pascal)
这样是不对滴..bfs是从一个节点扩展多个节点,所以你要给初始节点一个deep=0.之后从它扩展.
如果从i->j,则deep[j]:=deep[i]+1;deep取决于由那个节点扩展的,而不是循环一次加一。。
应该很简单的吧...宽搜不是要用队列来实现嘛,队列中的元素在记录各种状态时再记个深度就好了。
这么说太笼统,举个例子
元素类型:
type
quedata = record
x:longint; //根据需要,用其数值表示某状态
y:char; //同上
step:longint; //记录深度的
end;
用上一层的值求下一层时,把求出下一层的元素的step值赋值为上一层的step+1就好了。
相关内容