首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

二叉树中求位于先序序列中第k个位置的结点的值,该怎么解决

2012-06-05 
二叉树中求位于先序序列中第k个位置的结点的值编写递归算法,在二叉树中求位于先序序列中第k个位置的结点的

二叉树中求位于先序序列中第k个位置的结点的值
编写递归算法,在二叉树中求位于先序序列中
第k个位置的结点的值。

要求实现下列函数:
TElemType PreOrder(BiTree bt, int k);
/* bt is the root node of a binary linked list, */
/* Preorder travel it and find the node whose */
/* position number is k, and return its value. */
/* if can't found it, then return '#'. */

二叉链表类型定义:
typedef struct BiTNode {
TElemType data;
BiTNode *lchild, *rchild;
} BiTNode, *BiTree;

[解决办法]

C/C++ code
 else         {             k=k-1;             if(bt->lchild)             {                                PreOrder(bt->lchild,k);             }             else if(bt->rchild)             {                                PreOrder(bt->rchild,k);             }         } 改成 else         {              if(bt->lchild)             {                                PreOrder(bt->lchild,k-1);             }             else if(bt->rchild)             {                                PreOrder(bt->rchild,k-1);             }         } 试试看
[解决办法]
把你的建树代码也发上来吧
[解决办法]
if(bt->lchild) 
{
PreOrder(bt->lchild,k); 

if(bt->rchild) 
{
PreOrder(bt->rchild,k); 
}
[解决办法]
k=k-1; 
if(bt->lchild) 
{
PreOrder(bt->lchild,k); 

else if(bt->rchild) 
{
PreOrder(bt->rchild,k); 

换成

m=k-1; //m为全局变量
if(bt->lchild) 
{
PreOrder(bt->lchild,m); 

else if(bt->rchild) 
{
PreOrder(bt->rchild,m); 


试试看
[解决办法]
探讨
if(bt->lchild)
{
PreOrder(bt->lchild,k);
}
if(bt->rchild)
{
PreOrder(bt->rchild,k);
}

[解决办法]
C/C++ code
改成:else         {              if(bt->lchild)             {                                PreOrder(bt->lchild,k-1);             }             if(bt->rchild) //此处不要else            {                                PreOrder(bt->rchild,k-1);             }         }
[解决办法]
上面的好像还有点问题,再参照5楼的
k=k-1; 
if(bt->lchild) 
{
PreOrder(bt->lchild,k); 

else if(bt->rchild) 
{
PreOrder(bt->rchild,k); 


改为
m=k-1; //m为全局变量
if(bt->lchild) 
{
PreOrder(bt->lchild,m); 

if(bt->rchild)
{
PreOrder(bt->rchild,m); 

热点排行