VnexTR: Bilişim Forumu

Tam Versiyon: Huffman Veri Sıkıştırma Algoritması ve Uygulaması
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Kod:
using System; namespace Huffman
{
public class HuffmanNode
{
private HuffmanNode leftNode;
private HuffmanNode rightNode;

private HuffmanNode parentNode;

private string symbol;
private int frequency;
private string code = "";

private bool isLeaf;

public HuffmanNode LeftNode
{
get{return leftNode;}
set{leftNode = value;}
}

public HuffmanNode RightNode
{
get{return rightNode;}
set{rightNode = value;}
}

public HuffmanNode ParentNode
{
get{return parentNode;}
set{parentNode = value;}
}

public string Symbol
{
get{return symbol;}
set{symbol = value;}
}

public string Code
{
get{return code;}
set{code = value;}
}

public int Frequency
{
get{return frequency;}
set{frequency = value;}
}

public bool IsLeaf
{
get{return isLeaf;}
set{isLeaf = value;}
}


public HuffmanNode()
{

}
}

public class NodeComparer : IComparer
{
public NodeComparer()
{
}

public int Compare(object x, object y)
{
HuffmanNode node1 = (HuffmanNode)x;
HuffmanNode node2 = (HuffmanNode)y;

return node1.Frequency.CompareTo(node2.Frequency);
}
}
}