第一范文网 - 专业文章范例文档资料分享平台

数据结构Java8二叉树与树

来源:用户分享 时间:2025/5/18 3:44:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

//x2记下次最小权值结点的下标 }

huftree[x1].parent = n+i; //将找出的两棵权值最小的子树合并为一棵子树 huftree[x2].parent = n+i; this.huftree[n+i] = new

TriElement(huftree[x1].data+huftree[x2].data, -1, x1, x2); } }

public String toString() {

String str=\树的结点数组:\\n\; for (int i=0; i

从叶结点开始向上搜索,是左孩子原串的左边加“0”,是右孩子原串的左边加“1”。思路与链表的搜索相同。

public String[] huffmanCodes() //返回当前Huffman树的Huffman编码 {

String[] hufcodes = new String[this.leafNum]; for(int i=0; i

hufcodes[i]=\; int child = i;

int parent = huftree[child].parent;

while (parent!=-1) //由叶结点向上直到根结点循环 {

if (huftree[parent].left==child)

hufcodes[i]=\+hufcodes[i];

//左孩子结点编码为0 else

hufcodes[i]=\+hufcodes[i]; //右孩子结点编码为1

child = parent;

parent = huftree[child].parent; } }

return hufcodes; } }

(4) Huffman树上的搜索,求每个结点的路径长度

public int[] huffmanH() //返回当前Huffman树的Huffman编码 {

int[] hufcodes = new int[this.leafNum];

for(int i=0; i

hufcodes[i]=0; int child = i;

int parent = huftree[child].parent;

while (parent!=-1) //由叶结点向上直到根结点循环 {

hufcodes[i]++; child = parent;

parent = huftree[child].parent; } }

return hufcodes; } //调用

int hh[]=ht.huffmanH();

System.out.println(ht.toString());//哈夫结点 for (int i=0; i

7.哈夫曼编码SMU1463、1287、1288 求最小费用Smp1053 三、树

课后任务:完成课堂上的例子,自觉在SMUOJ,POJ上做题.

SMU1259、1261、1262、1263、1265、1273、1286、1288、1465、1580、

\+weight[i]+\

1603、1607

POJ3437、2499、2255、1145、1095、2309、1577 课后记:

搜索更多关于: 数据结构Java8二叉树与树 的文档
数据结构Java8二叉树与树.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ay245bazt6et871e27k_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top