数据结构4树与二叉树.pptxVIP

  • 1
  • 0
  • 约5.65千字
  • 约 22页
  • 2024-01-27 发布于河南
  • 举报

数据结构4树与二叉树共22页,您现在浏览的是第1页!第6章树和二叉树数据结构4树与二叉树共22页,您现在浏览的是第2页!-+/a*efb-dc线索二叉树(ThreadedBinary)一棵具有n个结点二叉树,用二叉链表表示时,树中存在空指针域的个数为:n+1利用空指针域指向结点的前驱或后继数据结构4树与二叉树共22页,您现在浏览的是第3页!lchildltagdatartagrchild结点结构其中:ltag=0lchild指向结点的左孩子ltag=1lchild指向结点的前驱rtag=0rchild指向结点的右孩子rtag=1rchild指向结点的后继以这种结构构成的二叉链表叫线索链表,其中指向前驱和后继的指针称作线索,加上线索的二叉树成为线索二叉树。二叉树的二叉线索存储表示Typedefenum{Link,Thread}PointerTag;TypedefstructBiThrNode{TElemTypedata;structBiThrNode*lchild,*rchild;PointerTagLTag,RTag;}BiThrNode,*BiThrTree;数据结构4树与二叉树共22页,您现在浏览的是第4页!thrtbt011-c-/+110001101ae*f1101StatusInOrderTraverse_Thr(BiThrTreeT,Status(*Visit)(TElemTypee)){P=T-lchild;while(p!=T){while(p-LTag==Link)p=p-lchild;if(!Visit(p-data))returnERROR;while(p-RTag==Threadp-rchild!=T){p=p-rchild;Visit(p-data);}p=p-rchild;}returnOK}中序序列:a+b*c-d-e/f数据结构4树与二叉树共22页,您现在浏览的是第5页!thrtbt011-cb+/110001101ae*f1110voidInThreading(BiThrTreep){if(p){InThreading(p-lchild);if(!p-lchild){p-LTag=Thread;p-lchild=pre;}if(!pre-rchild){pre-RTag=Thread;pre-rchild=p;}pre=p;InThreading(p-rchild);}}数据结构4树与二叉树共22页,您现在浏览的是第6页!6.6赫夫曼(Huffman)树及其应用一、赫夫曼(Huffman)树---最优树定义:给定一组权w1w2……wn,且w1≤w2≤……≤wn,设有一个二叉树,共有n片叶子,分别带权w1w2……wn,该二叉树称为带权二叉树。路径:从树中一个结点到另一个结点之间的分支构成这两个结点间的路径路径长度:路径上的分支数树的路径长度:从树根到每一个结点的路径长度之和结点的带权路径长度:该结点到根的路径长度与结点上权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和。n记作:wpl=∑wklkk=1数据结构4树与二叉树共22页,您现在浏览的是第7页!abcd7524c27a4d5bab24cd75例有4个结点,权值分别为7,5,2,4,构造有4个叶子结点的二叉树(1)WPL=7*2+5*2+2*2+4*2=36(2)WPL=4*2+7*3+5*3+2*1=46(3)WPL=7*1+5*2+2*3+4*3=35数据结构4树与二叉树共22页,您现在浏览的是第8页!定理:设T为带权w1≤w2≤……≤wn的最优树则a)带权w1,w2的叶子Vw1,Vw2是兄弟b)以Vw1,Vw2为儿子的分枝点,其通路长度最长。设T为带权w1≤w2≤……≤wn的最优树,若将以带权w1,w2的树叶为儿子的分枝点改为带权w1+w2的树叶,得到新树T’,则T’也是最优树。数据结构4树与二叉树共22页,您现在浏览的是第9页!例1877772222444411115555aaaabbbbccccdddd666数据结构4树与二叉树共22页,您现在浏览的是第10页!二、Haffman编码前缀码:给定一个序列

文档评论(0)

1亿VIP精品文档

相关文档