主题:[原创]如何判断自己写的算法正确与否?
朋友:你好!
我没有学过数据结构,现在在自学数据结构,我写了一个表达式为: AB#CD###E#F##
(其中"#"是空) 使用先序遍历方法 写了一个算法:但是不知道对不对:(二叉树)
请问:如何判断? 需要编个 C程序调试一下吗? 但如何编译这样的关于算法的程序??
Status PreOrderTraverse(BiTree T,Status(*Visit)(TElemType e))
{
InitStatus(S);
Push(S,p); //根指针进栈
while(!StatusEmpty(S))
{
while(GetTop(S,p)&&p)Push(S,p->data);
Pop(S,p);
if(!StatusEmpty(S))
{
Pop(S,p);
if(!Visit(p->lchild)) return ERROR;
Push(S,p->rchild);
}
}
return OK;
}
我没有学过数据结构,现在在自学数据结构,我写了一个表达式为: AB#CD###E#F##
(其中"#"是空) 使用先序遍历方法 写了一个算法:但是不知道对不对:(二叉树)
请问:如何判断? 需要编个 C程序调试一下吗? 但如何编译这样的关于算法的程序??
Status PreOrderTraverse(BiTree T,Status(*Visit)(TElemType e))
{
InitStatus(S);
Push(S,p); //根指针进栈
while(!StatusEmpty(S))
{
while(GetTop(S,p)&&p)Push(S,p->data);
Pop(S,p);
if(!StatusEmpty(S))
{
Pop(S,p);
if(!Visit(p->lchild)) return ERROR;
Push(S,p->rchild);
}
}
return OK;
}