二叉树概述

原创 2017年02月16日 16:19:46

1、什么是二叉树

二叉树跟树有区别,最大的一点就是:树的度没有限制,而二叉树最多则不能超过2个度

二叉树由结点组成,结点包含的链接可以为空( null)或者指向其他结点,在二叉树中,每个结点只能有一个父结点(只有根节点例外), 而且每个结点都只有左右两个链接,分别指向他们自己的左子节点和右子节点。

2、二叉树类型:

完全二叉树:若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点, 并且叶子结点都是从左到右依次排布,这就是完全二叉树。

满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上.

一颗树深度为h,最大层数为k,深度与最大层数相同,k=h;

  它的叶子数是: 2^h
  第k层的结点数是: 2^(k-1)
  总结点数是: 2^k-1 (2的k次方减一)
  总节点数一定是奇数。

平衡二叉树:平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:
它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。


满二叉树肯定是完全二叉树,完全二叉树不一定是满二叉树

3、二叉树的遍历:

前序遍历:根节点-左子树-右子树
中序遍历:左子树-根节点-右子树
后序遍历:左子树-右子树-根节点
按层遍历:从根节点到下,一层层的从左到右依次遍历
版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构之二叉树(概念)

树的定义: 树是n个结点的有限集。 n = 0 称为空树。如果n>0,则: (1)有一个特定的称之为根的结点,它只有直接后继,但没有直接前驱。 (2)除根以外的其他结点划分为m个互不相交的有限集...
  • li_101357
  • li_101357
  • 2015年07月19日 17:10
  • 1188

对于二叉树三种非递归遍历方式的理解

利用栈实现二叉树的先序,中序,后序遍历的非递归操作 栈是一种先进后出的数据结构,其本质应是记录作用,支撑回溯(即按原路线返回);因此,基于其的二叉树遍历操作深刻的体现了其特性: 1.先入、后出,只...
  • sdulibh
  • sdulibh
  • 2016年01月24日 11:25
  • 1236

二叉搜索树(Binary Search Tree )的定义及分析

定义:     二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 左子树(如果非空)上所...
  • jsh13417
  • jsh13417
  • 2013年01月22日 21:59
  • 3320

二叉树概述

  • 2014年05月23日 19:33
  • 1000KB
  • 下载

数据结构概述 第五章 二叉树

第五章 树和二叉树                     第一节 树的逻辑结构 一.树的定义 1.在树中常常将数据元素称为结点; 2.树:n(n>=0)个节点的有限集合(n为0时称为空树)。...
  • xuyan20134499
  • xuyan20134499
  • 2014年11月19日 21:32
  • 196

中序线索化二叉树的非递归算法

  • 2018年01月16日 10:22
  • 3KB
  • 下载

二叉树习题

  • 2018年01月16日 18:07
  • 123KB
  • 下载

c++实现二叉树的基本功能

  • 2017年11月05日 13:31
  • 1.77MB
  • 下载

基于C写的平衡二叉树

  • 2016年03月24日 16:18
  • 3KB
  • 下载

二叉树的Morris遍历

  • 2016年09月03日 18:23
  • 6.2MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树概述
举报原因:
原因补充:

(最多只允许输入30个字)