考研数据结构(每日一题)day55

考研数据结构(每日一题)day55,第1张

考研数据结构(每日一题)

题目:已知一棵二叉树链式存储,设计一个算法,输出根结点到每个叶子结点的路径。

算法思想:

遍历(先序遍历)

对特殊的结点(叶子结点)进行处理

需要借助一个栈

完整代码:
Elemtype stack[maxsize];
void path(BTNode *p){
    int i = 0,top = 0;
    if (p != NULL)  //不为空,则结点值入栈
    {
        stack[top] = p -> data;
        ++ top;
    }
    if (p -> lchild == NULL && p -> rchild == NULL) //如果是叶子结点
    {
        for (i = 0; i < top; ++i)  //读出栈中元素
        {
            printf(%c,stack[i]);
        }
        path(p -> lchild);  //遍历二叉树
        path(p -> rchild);
        -- top;
    }   
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存