标签:
(1)二叉树的概念
二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。
满二叉树: 在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上,这样的一棵二叉树称作满二叉树。
完全二叉树:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树
(2)二叉树的基本操作与存储
二叉树的二叉链表存储表示可描述为
建立一个二叉树,使其只有头结点
(3)二叉树的遍历
二叉树的遍历是指按照某种顺序访问二叉树中的每个结点,使每个结点被访问一次且仅被访问一次。
先序遍历:
(1)访问根结点;
(2)先序遍历根结点的左子树;
(3)先序遍历根结点的右子树。
先序遍历二叉树的递归算法如下:
中序遍历:先左子树,再根,再右子树
后序遍历:先遍历树左子树,再右子树,最后根
先序遍历的非递归实现
可以利用栈的后进先出的特点实现:
标签:
原文地址:http://www.cnblogs.com/zhiliao112/p/4232215.html