树的基础

原创 2018年04月15日 21:22:44

树与二叉树

1.什么是树?

​ 树是由一个集合以及定义在该集合上的一种关系构成的。集合中的元素称为树的结点,所定义的关系为父子关系。父子关系在树的结点之间建立了一个层次结构

2.树的基本概念和术语

与树相关的基本概念和术语较多也比较重要哦!

结点的度:一个结点的子结点的个数称为该结点的度。

树的度:指该树中结点的最大读数。

叶结点:树中度为0的结点。

分支结点:其实也就是不是叶结点的结点,除了根结点以外的分支结点统称为内部结点。

路径:如果在树中存在的一个结点序列K1,K2…Kj,使得结点Kj是结点Kj+1的父节点,则称该结点序列为树中从结点K1到Kj的一条路径。路径的长度为j-1即结点之间的线段数目。

深度与层次数:从树根到任意一个结点有唯一的路径,则称这条路径的长度为结点的深度或层次树。深度相同的结点处于同一层。

树的高度:指树中结点的最大层次数。

有序树:若将树中每个结点的各子树看成是从左到右有次序的(即不能互换),则称该树为有序树;否则称为无序树。(比如 A / \ B C 和 A / \ C B 如果表示同一棵树,这就叫无序树,如果表示2棵不同的树,就叫有序树。书中解释比较奇怪)。

3.通用的算法——二叉树!

二叉树指树的度为2的有序树。

二叉树的递归定义:二叉树或者是一棵空树,或者是由一棵由一个根结点和两棵互不相交的称为根的左子树和根的右子树所组成的非空树,左子树和右子树又分别是一棵二叉树。

二叉树的分类:完全二叉树,满二叉树,平衡二叉树。

  • 完全二叉树:(1)完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树
  • 满二叉树:(2)满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。
  • 平衡二叉树:(3)平衡二叉树——平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tryantking/article/details/79953490

基础练习 Huffuman树(贪心算法)

问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。   给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程...
  • u013243347
  • u013243347
  • 2016-01-23 17:01:28
  • 2069

蓝桥杯基础练习 Huffuman树

Link:http://lx.lanqiao.org/problem.page?gpid=T69 基础练习 Huffuman树   时间限制:1.0s   内存限制:512...
  • Enjoying_Science
  • Enjoying_Science
  • 2016-01-28 18:08:52
  • 770

Java蓝桥杯Huffuman树

基础练习 Huffuman树   问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。   给出一列数{pi}={p0, p1...
  • wzt529
  • wzt529
  • 2016-12-09 14:25:24
  • 793

蓝桥杯:基础练习 Huffuman树

基础练习 Huffuman树  这题一开始就说用贪心了,我就不再解释需要什么算法了,先贴代码:#include<iostream> #include<algo...
  • chentyit
  • chentyit
  • 2018-03-21 15:41:48
  • 32

蓝桥杯:基础练习 Huffuman树、FJ的字符串、阶乘计算、高精度加法

基础练习 Huffuman树   时间限制:1.0s   内存限制:512.0MB        问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关...
  • catchingSun
  • catchingSun
  • 2016-03-21 13:07:24
  • 875

摄影的基础美学详解

近期我收到一位读者来信,信中说他们非常喜爱我的摄影作品,但是苦于没有一双“影像之眼”。这促使我撰写这篇文章,来和大家一起分享我悟到的基础美学和它们与影像之间的关系。 表达你的观点 美学是一...
  • clschen
  • clschen
  • 2016-08-23 15:23:48
  • 517

基础练习 Huffuman树 【java】

问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。   给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过...
  • DO_HACKER
  • DO_HACKER
  • 2018-02-03 22:37:15
  • 38

树的定义和基本概念

数的定义和基本概念
  • bruce_6
  • bruce_6
  • 2014-06-07 14:45:47
  • 1170

【蓝桥杯】【Huffuman树】

题目:Huffuman树 问题描述   Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。   给出一列数{pi}={p0, p1, …, pn-1},用这列数构造...
  • bear_huangzhen
  • bear_huangzhen
  • 2016-04-14 09:56:35
  • 1234
收藏助手
不良信息举报
您举报文章:树的基础
举报原因:
原因补充:

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