文档详情

二叉树的遍历及其应用.pdf

发布:2024-12-23约6.31千字共8页下载文档
文本预览下载声明

二叉树的遍历及其应用

摘要:二叉树是一种特殊的树,它在计算机科学领域提供了大量的实际

应用。二叉树依照需求可以通过阵列以及链接链表来实现。树的遍历是

指一次访问树的所有节点的过程。遍历二叉树有三种方式,分别是先序

遍历,中序遍历,后序遍历。在遍历的过程中更加深入的了解二叉树遍

历的算法过程及其应用,以至于充分的认识到二叉树遍历的优越性。

关键词:二叉树,遍历,先序遍历,中序遍历,后序遍历

Traversingabinarytreeanditsapplication

Abstract:Abinarytreeisaspecialtypeoftreethatoffersalotofpractical

applicationsinthefieldofcomputerscience.Binarytreescanbeimplemented

byusingarraysaswellaslinkedlists,dependingupontherequirements.

Traversingatreereferstotheprocessofvisitingallthenodesofthetree

once.Therearethreewaysinwhichyoucantraverseabinarytree.Theyare

inorder,preorder,andpostordertraversal.Intheprocessofbinary,Ideeply

realisethearithmeticprocessandtheapplianceofbinary.Ialsorealisethe

superiorityoftraversingabinarytree.

Keywords:binarytree;traversal;inordertraversal;preordertraversal;

postordertraversal

0引言

所谓遍历,是指沿着某条搜索路线,依次对树中每个结点均做一次

且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。遍历

在二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。二叉

树作为一种重要的数据结构是工农业应用与开发的重要工具。遍历是二

叉树算法设计中经典且永恒的话题。经典的算法大多采用递归搜索。递

归算法具有简练、清晰等优点,但因其执行过程涉及到大量的堆栈使

用,难于应用到一些严格限制堆栈使用的系统,也无法应用到一些不支

[9]

持递归的语言环境。

1遍历二叉树的概念

所谓遍历二叉树,就是遵从某种次序,访问二叉树中的所有结点,

使得每个结点仅被访问一次。这里提到的“访问”是指对结点施行某种

操作,操作可以是输出结点信息,修改结点的数据值等,但要求这种访

问不破坏它原来的数据结构。在本文中,我们规定访问是输出结点信息

data,且以二叉链表作为二叉树的存贮结构。由于二叉树是一种非线性

结构,每个结点可能有一个以上的直接后继,因此,必须规定遍历的规

则,并按此规则遍历二叉树,最后得到二叉树所有结点的一个线性序

[1]

列。

2二叉树遍历的算法

二叉树的遍历方式有三种:中序遍历、前序遍

历、后序遍历。

1、中序遍历的递归算法定义:

若二叉树非空,则依次执行如下操作:

(1)遍历左子树;

(2)访问根结点;

(3)遍历右子树。

首先,先确定根结点(A)及其左右子树(B)、(C),按照中序

遍历LTR的顺序,任一节结点在以其为根的子树中的访问顺序为左子

树、根结点、右子树。而对于以B、C为根结点的两个子树,还可继续

将其拆分为左、右子树,按左中右的顺序,遍历左子树直到其只有一个

结点或为空为止,然后遍历右子树,直到其右子树只有一个结点或为空

[3]

为止。此步骤可借助图1来讲解。

编程时,可以用如下代码:

publicvoidpreorder(Nodeptr)

{

if(R

显示全部
相似文档