随笔 - 13, 文章 - 18, 评论 - 18, 引用 - 0
数据加载中……

树与图

1) 树的左遍历
 
void LeftWalkTree(node *root)
{
   if(root)
     printf(" %d \n", root->data);
   else
     return;
 
   LeftWalkTree(root->left);
   LeftWalkTree(root->right);
}
 
 
2)最低公共祖先
  已知道二元搜索数上的两个节点的值,请找出他们的最低公共祖先。可以假设这两个值是存在的。函数接口如下:
 
int FindLowestCommonAncestor(node *root, int value1, int value2)
{
   node *curNode = root;
  while(1)
  {
     if(curNode->value > value1 && curNode->value >value2)
        curNode = curNode->left;
     else if(curNode->value <value1 && curNode->value <value2)
        curNode = curNode->right;
     else
         return curNode->node;
  }
}

posted on 2007-02-03 10:19 JackLi 阅读(235) 评论(0)  编辑 收藏 引用 所属分类: Examination


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理