Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void huffman_codes(Huff_pair* polje, int size){
- Node minHeap[size];
- for (int i = 0; i < size; ++i){
- minHeap[i].data.push_back(polje[i].symbol);
- minHeap[i].val = polje[i].prob;
- minHeap[i].size = 1;
- }
- for (int i=size; i>1; i--){
- sort(minHeap, i);
- for (int j = 0; j < (unsigned int) minHeap[i-2].size; j++){
- codewords[minHeap[i-2].data[j]] = "1" + codewords[minHeap[i-2].data[j]];
- }
- for (int j = 0; j < (unsigned int) minHeap[i-1].size; j++){
- codewords[minHeap[i-1].data[j]] = "0" + codewords[minHeap[i-1].data[j]];
- }
- minHeap[i-2].data.insert(minHeap[i-2].data.end(), minHeap[i-1].data.begin(), minHeap[i-1].data.end());
- minHeap[i-2].val += minHeap[i-1].val;
- minHeap[i-2].size += minHeap[i-1].size;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement