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
    关注

    运行测试不就好了吗

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?