博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
哈夫曼树
阅读量:6316 次
发布时间:2019-06-22

本文共 1020 字,大约阅读时间需要 3 分钟。

很奇葩的哈夫曼树实现~~

但是OJ还是交不了,因为哈夫曼树建树的方式不唯一

只是记录一下,不建议这么写的

#include
#include
using namespace std;const double eps = 1e-6;vector
v;struct huff{ double value; huff* left; huff* child_l; huff* child_r; int i; bool is_leaf; bool visit;}*q;huff *p;void find(huff *p){ v.clear(); while(p->left != NULL) { v.push_back(p->i); p = p->left; } //output for (int i=v.size()-1;i>=0;--i) { cout<
p[j].value) { //交换 tmp=p[i]; p[i]=p[j]; p[j]=tmp; //同时他们的孩子的left也要交换 if(p[i].child_l != NULL) p[i].child_l->left = p[i].child_r->left = &p[i]; if(p[j].child_l != NULL) p[j].child_l->left = p[j].child_r->left = &p[j]; } } }}int main(){ //freopen("input.txt","r",stdin); int n; cin>>n; p=new huff[2*n-1];//分配huff数组 double ori_arr[25]; init(n); for(int i=0;i
>p[i].value; //输入 ori_arr[i] = p[i].value; } int k=0; //cout<<"i == "<
<
"<
<<"->"<
<<"\n"; } p[n*2-2].left=NULL; p[n*2-2].i=1;// for(int j=0;j<2*n-1;j++)// cout<
<

转载地址:http://fyyaa.baihongyu.com/

你可能感兴趣的文章
读书笔记《乌合之众》
查看>>
Hadoop日记Day1---Hadoop介绍
查看>>
centos7 yum安装jdk
查看>>
Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
查看>>
Echart:前端很好的数据图表展现工具+demo
查看>>
Linux VNC黑屏(转)
查看>>
Java反射简介
查看>>
day8--socket网络编程进阶
查看>>
node mysql模块写入中文字符时的乱码问题
查看>>
分析Ajax爬取今日头条街拍美图
查看>>
内存分布简视图
查看>>
如何学习虚拟现实技术vr? vr初级入门教程开始
查看>>
第4 章序列的应用
查看>>
初识闭包
查看>>
hdu1874畅通工程续
查看>>
rails 字符串 转化为 html
查看>>
AOP动态代理
查看>>
Yii2.0 下的 load() 方法的使用
查看>>
华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
查看>>
[转] ReactNative Animated动画详解
查看>>