Huffman coding: Difference between revisions

m
(wrote code using example described)
Line 2,951:
int freq;
}
-(idinstancetype)initWithFreq:(int)f;
@property (nonatomic, readonly) int freq;
@end
Line 2,957:
@implementation HuffmanTree
@synthesize freq; // the frequency of this tree
-(idinstancetype)initWithFreq:(int)f {
if (self = [super init]) {
freq = f;
Line 2,988:
}
@property (readonly) char value;
-(idinstancetype)initWithFreq:(int)f character:(char)c;
@end
 
@implementation HuffmanLeaf
@synthesize value;
-(idinstancetype)initWithFreq:(int)f character:(char)c {
if (self = [super initWithFreq:f]) {
value = c;
Line 3,006:
}
@property (readonly) HuffmanTree *left, *right;
-(idinstancetype)initWithLeft:(HuffmanTree *)l right:(HuffmanTree *)r;
@end
 
@implementation HuffmanNode
@synthesize left, right;
-(idinstancetype)initWithLeft:(HuffmanTree *)l right:(HuffmanTree *)r {
if (self = [super initWithFreq:l.freq+r.freq]) {
left = l;
Anonymous user