广工anyview习题

广工anyview习题



在这里插入图片描述

#include "allinclude.h"
int commonAncestor(SqBiTree T, int i, int j)
{  
	// Add your code here
   if(i <= 0 || j <= 0 || i > T.lastIndex || j > T.lastIndex) return 0;
   while(i != 1 && j != 1){
    if(i >= j){
      while(i >= 2*j){
        i /= 2;
      }
      i /= 2;
      j /=2;
      if(j == i)return i;
    }
    else{
      while(j >= 2*i){
        j /= 2;
      }
      i /= 2;
      j /=2;
      if(j == i)return i;
    }
    if(i == 1|| j == 1){
      return 1;
    }
   }
   return 0;
}

在这里插入图片描述

#include "allinclude.h"
Status is_Desendant(SqBiTree T, int u, int v)  
{  // Add your code here
   if(u > T.lastIndex || v > T.lastIndex || u <= 0 || v <= 0 || u > v) return FALSE;
   while(v > u){
     v /= 2;
     if(u == v) return TRUE;
   }
  return FALSE;
}

在这里插入图片描述

#include "allinclude.h"
Status Similar(BiTree T1, BiTree T2) 
{   // Add your code here
  if(T1 == NULL && T2 == NULL) return TRUE;
  if(T1 != NULL && T2 != NULL){
      return Similar(T1->lchild,T2->lchild) && Similar(T1->rchild,T2->rchild);
  }
  return FALSE;
}

在这里插入图片描述

#include "allinclude.h"
TElemType PreOrderK1(BiTree T,int &k);
TElemType PreOrderK(BiTree T, int k) 
{   // Add your code here
  return   PreOrderK1(T,k);
}

TElemType PreOrderK1(BiTree T,int &k){
  TElemType p = '#';
  if(k < 1 || T == NULL) return '#';
  if(k == 1) return T->data;
  k--;
  if(T->lchild){
    p = PreOrderK1(T->lchild,k);
  }
  if(T->rchild && p == '#'){
    p = PreOrderK1(T->rchild,k);
  }
  return p;
}

在这里插入图片描述

#include "allinclude.h"
void PreOrder(BiTree T, Status (*visit)(TElemType))
{   // Add your code here
  Stack s;
  InitStack(s);
  while(T != NULL || !StackEmpty(s)){
    if(T){
      visit(T->data);
      Push(s,T);
      T = T->lchild;
    }
    else{
      Pop(s,T);
      T = T->rchild;
    }
  }

}


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值