欢迎来到天天文库
浏览记录
ID:60489405
大小:13.50 KB
页数:2页
时间:2020-12-06
《最新最近公共祖先.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#includetypedefstructBiTNode{intdata;intfathar;intdeep;}BiTNode,*BiTree;voidmain(){BiTNodeT[100];intn;intd,lchild,rchild;printf("請輸入二叉樹的頂點個數:");scanf("%d",&n);inti;for(i=1;i<=n;i++){T[i].deep=1;}printf("請輸入結點以及它的左右子樹:");for(i=1;i<=n;i++){scanf("%d%d%d",&d,&lchild
2、,&rchild);T[d].data=d;T[lchild].fathar=d;T[rchild].fathar=d;T[lchild].deep=T[d].deep+1;T[rchild].deep=T[d].deep+1;}intm;intnum1,num2;printf("請輸入要计算最近公共祖先的結點個數m的值:");scanf("%d",&m);printf("請輸入要计算最近公共祖先的%d對结点的编号:",m);for(i=1;i<=m;i++){scanf("%d%d",&num1,&num2);printf("%d%d"
3、,num1,num2);while(T[num1].fathar!=T[num2].fathar){if(T[num1].deep4、5、num2==T[num1].fathar)break;}if(T[num1].fathar==T[num2].fathar)printf("%d",T[num1].fathar);if(num1==T[num2].fathar)printf("%d6、",num1);if(num2==T[num1].fathar)printf("%d",num1);}}
4、
5、num2==T[num1].fathar)break;}if(T[num1].fathar==T[num2].fathar)printf("%d",T[num1].fathar);if(num1==T[num2].fathar)printf("%d
6、",num1);if(num2==T[num1].fathar)printf("%d",num1);}}
此文档下载收益归作者所有