yingyan114 2017-08-08 23:31 采纳率: 0%
浏览 1532

如何检验一个算法的正确性?

例如,我写了一个二叉树先序遍历算法,它和书上教的不一样,我怎样检验它的正确性?
代码如下:
class Bnode{...};//二叉树节点
class Bintree{...};//二叉树
template template //用visit访问x子树
void Bintree::travpre(VST& visit,Bnode* x){
stack> s;
Bnode
tp = x;
while (tp != nullptr)
{
visit(tp);
if (tp->rchild_ != nullptr)
s.push(tp->rchild_);
if (tp->lchild_ != nullptr)
tp = tp->lchild_;
else
{
tp = s.top();
s.pop();
}
}
}
它能通过编译,我在脑子里推导了几遍,也没发现问题,有没有更可靠的方法检验算法的正确性。

  • 写回答

4条回答 默认 最新

  • 周云熙 2017-08-09 01:01
    关注

    运行测试不就好了吗

    评论

报告相同问题?