دلفــي
دوشنبه 09 خرداد 1390, 10:08 صبح
با سلام :
در مورد جستجوی اول سطح ( Breadth-first Search، بهاختصار: BFS) و جستجوی عمق اول ( Depth-first Search، بهاختصار DFS) كسي از دوستان كدي در زبان دلفي يا پاسكال داره ؟! (خيلي ضروري)
توضيح اينكه :
پیادهسازی الگوریتم جستجوی عمق اول توسط پشته صورت مي گيرد.
پیادهسازی الگوریتم جستجوی اول سطح مشابه پیادهسازی جستجوي اول عمق است با این تفاوت که به جای پشته از صف استفاده میشود.
شبه كدهاشون هم به اين صورته:
DFS (int v)
{
int w
Visited[v]:=1
For (each vertex w adjacent to v)
If (not visited[w]) then
DFS(w)
End if
End For
}
و
BFS (int v)
{ int w
Queue q
Visited[v]:=1
CreateQueue(q)
AddQueue(q, v)
While (not EmptyQueue(q))
DeleteQueue(q,v)
For (all vertex w adjacent to v)
If (not visited[w]) then
AddQueue(q,w)
Visited[w]:=1
End if
End For
End while
}
در مورد جستجوی اول سطح ( Breadth-first Search، بهاختصار: BFS) و جستجوی عمق اول ( Depth-first Search، بهاختصار DFS) كسي از دوستان كدي در زبان دلفي يا پاسكال داره ؟! (خيلي ضروري)
توضيح اينكه :
پیادهسازی الگوریتم جستجوی عمق اول توسط پشته صورت مي گيرد.
پیادهسازی الگوریتم جستجوی اول سطح مشابه پیادهسازی جستجوي اول عمق است با این تفاوت که به جای پشته از صف استفاده میشود.
شبه كدهاشون هم به اين صورته:
DFS (int v)
{
int w
Visited[v]:=1
For (each vertex w adjacent to v)
If (not visited[w]) then
DFS(w)
End if
End For
}
و
BFS (int v)
{ int w
Queue q
Visited[v]:=1
CreateQueue(q)
AddQueue(q, v)
While (not EmptyQueue(q))
DeleteQueue(q,v)
For (all vertex w adjacent to v)
If (not visited[w]) then
AddQueue(q,w)
Visited[w]:=1
End if
End For
End while
}