2013海南省数据简介加强.pdfVIP

  • 1
  • 0
  • 约1.04万字
  • 约 9页
  • 2019-10-25 发布于湖北
  • 举报
1、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结 点值比较,即可得出结论,为此设全局指针变量pre (初值为null)和全局变量flag,初值 为true。若非二叉排序树,则置flag 为false。 #define true 1 #define false 0 typedef struct node {datatype data; struct node *llink,*rlink;} *BTree; void JudgeBST (BTree t,int flag) // 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag 得出结论。 { if (t!=null flag) { Judgebst (t-llink,flag);// 中序遍历左子树 if (pre==null)pre=t;// 中序遍历的第一个结点不必判断 else if (pre-datat-data)pre=t;//前驱指针指向当前结点 else{flag=flase;} //不是完全二叉树 Judgebst (t-rlink,flag);// 中序遍历右子树 }//JudgeBST 算法结束 2、证明由二叉树的中序序

文档评论(0)

1亿VIP精品文档

相关文档