深度优先非递归算法
定義:
M={Q, ∑, f, q0, F}
q = f(q, δ)
σ ∈ Σ
(q, q0, F) ∈ Q 算法:
Stack S ← (-1, -1);
i = 0;
T = q0;
while (T != -1 && i != -1)
{
if (i == 0 && T is Accept)
{
call AcceptCallBack;
}
if (i < T.Children.Count)
{
S ← (T, i + 1);
T = f(T, i);
i = 0;
}
else
{
(T, i) ← S;
}
}
σ ∈ Σ
(q, q0, F) ∈ Q 算法:
Stack S ← (-1, -1);
i = 0;
T = q0;
while (T != -1 && i != -1)
{
if (i == 0 && T is Accept)
{
call AcceptCallBack;
}
if (i < T.Children.Count)
{
S ← (T, i + 1);
T = f(T, i);
i = 0;
}
else
{
(T, i) ← S;
}
}
?
轉載于:https://www.cnblogs.com/rexfield/p/3554466.html
總結
- 上一篇: 看服务器是不是虚拟机
- 下一篇: WCF获取客户端IP和端口