赞
踩
概念:
概念:
单个处理器
多处理器:
概念:
哈夫曼算法:
实现代码:
//树的结构体 struct tree{ char data; //存字符 tree* left; tree* right; int weight; //权重 }; //用来定义优先队列的比较规则 struct cmp{ bool operator()(tree *a, const tree* b){ return a->weight<b->weight; } }; //需要将数据先存入优先队列中 priority_queue<tree*,vector<tree*>,cmp>pq; tree* createNode(char data,int weight){ tree* p=new tree; p->data=data; p->left= nullptr; p->right= nullptr; p->weight=weight; return p; } tree* merge(tree* &t1,tree* &t2){ int n=t1->weight+t2->weight; tree* p= createNode(0,n); p->left=t1; p->right=t2; return p; } tree* Huffman(){ tree* p; while (!pq.empty()){ tree* t1=pq.top(); pq.pop(); tree* t2=pq.top(); pq.pop(); p=merge(t1,t2); pq.push(p); } return p; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。