C#实现数据结构的测试最小堆、测试二叉搜索树、测试Huffman编码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace BiTreeApp
{
class Program
{
static void Main(string[] args)
{
Random rnd = new Random();
//============== 测试最小堆 ==============
const int charNum = 10;
MinHeap mh = new MinHeap(charNum);
for (int i = 0; i < charNum; i++)
{
char tmp = (char)(Convert.ToInt16('A') + rnd.Next(26));
mh.Insert(tmp);
Console.Write("{0}--", tmp);
}
Console.WriteLine();
while (mh.GetNodeNum() > 0) {
char tmp = mh.Remove();
Console.Write("{0}--", tmp);
}
Console.WriteLine();
//============== 测试二叉搜索树 ==============
BinSearchTree bst = new BinSearchTree();
for (int i = 0; i < 5; i++)
{
char tmp = (char)(Convert.ToInt16('A') + rnd.Next(26));
bst.Add(tmp);
Console.Write("{0}--", tmp);
}
Console.WriteLine();
bst.Traverse();
//============== 测试Huffman编码 ==============
const string fileName = "C:/Documents and Settings/jsj/桌面/tmp/char.txt";
HuffmanTree ht = new HuffmanTree();
ht.Build(fileName);
ht.PrintCode();
Console.Read();