2024年10月二叉树的遍历(怎么正确理解二叉树的遍历)

 更新时间:2024-10-12

  ⑴二叉树的遍历(怎么正确理解二叉树的遍历

  ⑵二叉树是每个节点最多有两个子树的树结构,完全二叉树的特点是叶子节点只可能出现在层序最大的两层上,且有^k-个结点的二叉树,按层次遍历:从最上面一层,并且某个节点的左分支下子孙的最大层序与右分支下子孙的最大层序相等或大,这种树的特点是每一层上的结点数都是最大结点数,最后访问右子树,最后访问右子树。

  ⑶怎么正确理解二叉树的遍历

  ⑷在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree和“右子树”(rightsubtree。二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。(前序遍历先访问根节点,再遍历左子树,最后遍历右子树;并且在遍历左右子树时,仍需先遍历左子树,然后访问根节点,最后遍历右子树。上图的前序遍历如下。(中序遍历先遍历左子树、然后访问根节点,最后遍历右子树;并且在遍历左右子树的时候。仍然是先遍历左子树,然后访问根节点,最后遍历右子树。前图的中序遍历如下。(后序遍历先遍历左子树,然后遍历右子树,最后访问根节点;同样,在遍历左右子树的时候同样要先遍历左子树,然后遍历右子树,最后访问根节点。

  ⑸二叉排序树又叫二叉查找树。它的定义:、若根结点的左子树非空,则左子树上所有结点的关键字值均小于等于根结点的关键字值。、若根结点的右子树非空,则右子树上所有结点的关键字值均大于等于根结点的关键字值。、根结点的左、右子树也分别为二叉排序树。中序遍历后得到一个有序的序列;下面是实现的程序/************************************************************************//*题目:控制台下二叉排序树的建立,中序遍历*//*时间:--上午时分*//*coder:huifeng*//************************************************************************/#include《stdio.h》#include《stdlib.h》usingnamespacestd;typedefstructnode{intelement;structnode*left;structnode*right;}Node,*NodePtr;voidinsertNode(NodePtr*head,intdata)//插入节点,注意这用了指向指针的指针,很有意思{if(*head==NULL){*head=newNode;(*head)-》element=data;(*head)-》left=NULL;(*head)-》right=NULL;}else{if(data《=(*head)-》element){insertNode(&((*head)-》left),data);}else{insertNode(&((*head)-》right),data);}}}NodePtrcreatTree()//构造二叉排序树,控制台下输入整数,表示结束输入{NodePtrhead=NULL;intdata;scanf(“%d“,&data);while(data!=){insertNode(&head,data);scanf(“%d“,&data);}returnhead;}voidprintTree(NodePtrhead)//中序遍历二叉排序树,得到有序序列{if(head!=NULL){printTree(head-》left);printf(“%d“,head-》element);printTree(head-》right);}}intmain(){NodePtrhead;printf(“请输入一串整数,空格隔开,表示输入结束

  ⑹“);head=creatTree();printf(“中序遍历二叉排序树

  ⑺“);printTree(head);printf(“

  ⑻“);return;}运行结果,可以查看

  ⑼二叉树的深度是指二叉树的所有结点中最深的结点所在的层数。

  ⑽在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree和“右子树”(rightsubtree。二叉树常被用于实现二叉查找树和二叉堆。

  ⑾一棵深度为k,且有^k-个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。

  ⑿满二叉树:如果一棵二叉树只有度为的节点和度为的节点,并且度为的节点在同一层上,则这棵二叉树为满二叉树。

  ⒀完全二叉树:深度为k,有n个节点的二叉树当且仅当其每一个节点都与深度为k的满二叉树中编号从到n的节点一一对应时,称为完全二叉树。

  ⒁完全二叉树的特点是叶子节点只可能出现在层序最大的两层上,并且某个节点的左分支下子孙的最大层序与右分支下子孙的最大层序相等或大。

  ⒂二叉树的遍历,通常用递归的方法来描述。先根遍历或者先序遍历:首先访问根结点,然后访问左子树,最后访问右子树。中根便利或者中序遍历:先访问左子树,然后访问根节点,最后访问右子树。后根遍历或者先后序遍历:首先访问左子树,然后访问根节点,最后访问右子树。按层次遍历:从最上面一层,也就是根节点所在的一层开始,从上往下从左到右,访问二叉树中的每一个节点。

您可能感兴趣的文章:

相关文章