数据结构之树(四)

Posted on 2018-10-29 19:19  时光top  阅读(187)  评论(0编辑  收藏  举报

一、树的概念

  在计算机领域中,树是一种很常见的数据结构之一,这是一种非线性的数据结构。相关的概念较多,在此就不一一介绍了。

二、二叉树

  (1)二叉树的定义

    二叉树是指每个节点最多有两个子树的有序树,通常将其子树的根分别称作“左子树”和“右子树”(Right Subtree)。

    二叉树的主要特点:

      不存在度大于2的节点;有左右之分,次序不能颠倒;第i层最多有2^(i-1)个节点;深度为k的二叉树至多有2^k-1个节点;对任何一个二叉树T,如果其终节点数

    (即叶节 点数)为n0,度为2的节点数为n2,则n0=n2+1.

    二叉树有5种基本形态:

      空二叉树、只有一个根节点的二叉树、右子树为空的二叉树、左子树为空的二叉树、完全二叉树。

  (2)二叉树的性质(几个重要)

    第i层的节点总数不超过2^(i-1);深度为h的二叉树最少有h个节点,最多有2^h-1个节点(h>=1);n0=n2+1(n0为度数为0的节点数,n1位度数为1的节点数,

    n2为度数为2的节点数);有n个节点的完全二叉树的深度为int(log2 n)+1。 

  (3)二叉树的遍历:先序遍历、中序遍历、后序遍历。

  参考学习资料:https://www.cnblogs.com/polly333/p/4740355.html

三、线索二叉树

  线索二叉树是指n个节点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向节点在某种遍历次序下的前驱和后继节点的指针(这种附加的指针称为线索“”)。

  参考学习资料:https://www.cnblogs.com/guweiwei/p/7090050.html

四、霍夫曼树

  霍夫曼树是所有的“树”结构中最为优秀的品种之一,也称为哈夫曼树。

  哈夫曼树与哈夫曼编码参考:https://www.cnblogs.com/wuyuankun/p/3982216.html

               https://www.cnblogs.com/wxdjss/p/5496937.html

 

Copyright © 2024 时光top
Powered by .NET 8.0 on Kubernetes