词条 | 前序遍历 |
释义 | 前序遍历(DLR) 前序遍历也叫做先根遍历、先序遍历,可记做根左右。 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。 若二叉树为空则结束返回,否则: (1)访问根结点。 (2)前序遍历左子树。 (3)前序遍历右子树 。 需要注意的是:遍历左右子树时仍然采用前序遍历方法。 如右图所示二叉树 前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树 遍历结果:ABDECF 中序遍历,也叫中根遍历,顺序是 左子树,根,右子树 遍历结果:DBEAFC 后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根 遍历结果:DEBFCA 程序实现树的遍历一般都用递归实现,比较方便 C语言版本树中节点结构为: typedef struct TreeNode { int data; TreeNode * left; TreeNode * right; TreeNode * parent; }TreeNode; void pre_order(TreeNode * Node) { if(Node != NULL) { printf("%d ", Node->data); pre_order(Node->left); pre_order(Node->right); } } 调用时: pre_order(Root); //Root为树的根 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。