赫夫曼树
赫夫曼编码可以有效的压缩数据(可以节省20%-90%的空间,具体压缩率依赖于数据的特性,例如数据的重复量)
左子树用0表示,右子树用1表示
图的概念
定义:由 顶点的有穷非空集合 和 顶点之间边 的集合组成,数据元素是顶点,
通常表示为:G(V,E),其中G表示一个图,V是图中顶点的集合,E是图G中边的集合。
n个顶点,至多有n*(n-1)/2条边
边:有些图的边或者弧(有方向的边)带有与它相关的数字,这种与图的边或弧相关的数叫做权(weight),
带权的图通常称为网(network)。
度:顶点V的度(Degree)是和V相关联的边的数目,记为TD(V)
入度(InDegree),记为ID(V);出度(OutDegree),记为OD(V),因此顶点V的度为TD(V)=ID(V)+OD(V)
连通图:在无向图G中,如果从顶点V1到顶点V2有路径,则称V1和V2是连通的;
如果对于图中任意两个顶点Vi和Vj都是连通的,则称G是连通的(ConnectedGraph)
连通分量:无向图中的极大连通子图称为连通分量。
(①要是子图,并且子图是连通的,②连通子图含有极大顶点数,
③具有极大顶点数的连通子图包含依附于这些顶点的所有边)
强连通图:在有向图G中,如果对于每一对Vi到Vj都存在路径,则称G是强连通图。
强连通分量:
连通图的生成树:一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。
有向树:如果一个有向图恰有一个顶点入度为0,其余顶点入度均为1,则是一棵有向树。