Update node ordering algorithm for huffman encoding
This commit is contained in:
parent
3d94813dc8
commit
790d494da1
3 changed files with 43 additions and 22 deletions
11
huffman.rb
11
huffman.rb
|
@ -68,8 +68,15 @@ class NodeQueue
|
|||
node1 = self.find_smallest(-1)
|
||||
node2 = self.find_smallest(node1)
|
||||
new = merge_nodes(@nodes[node1], @nodes[node2])
|
||||
@nodes[node1] = new
|
||||
@nodes.delete_at(node2)
|
||||
if node1 > node2
|
||||
@nodes.delete_at(node1)
|
||||
@nodes.delete_at(node2)
|
||||
else
|
||||
@nodes.delete_at(node2)
|
||||
@nodes.delete_at(node1)
|
||||
end
|
||||
|
||||
@nodes << new
|
||||
end
|
||||
@huffman_root = @nodes.first
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue