• 2022-06-28
    假设二叉树采用二叉链存储结构存储,编写一个算法,输出一个二叉树的所有叶子节点。
  • 解:采用先序遍历的递归算法输出所有叶子节点。对应的算法如下:void findleaf《 BTNode  b){    if (b== NUIL)        relurI;    if (b- > lchild == NULL && b- > rchild == NULL)    //为叶子节点        printf( " * c ",b- >data) ;    else    {    findleaf(b- > lchild);    //在左子树中递归查找        findleaf( b-> rchild);    //在右于树中递归查找    }}

    内容

    • 0

      假设二叉树采用二叉链存储结构存储,设计一个算法,输出该二叉树中第一条最长的路径长度,并输出此路径上各节点的值。

    • 1

      假设二叉树采用二叉链存储结构,设计一个算法把树[tex=0.429x1.0]JThLUuJ8WswSAPiYZWihWg==[/tex]的左,右子树进行交换。要求不破坏原二叉树。

    • 2

      二叉树可以用二叉链表存储,树无法用二叉链表存储。

    • 3

      假设二叉树以二叉链存储,设计一个算法,判断一棵二叉树是否为完全二叉树。

    • 4

      编写算法,交换二叉树左右子树上的所有结点(二叉树采用二叉链表结构存储)。