⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecbtree.h

📁 根据ascii码文件中各ascii字符出现的频率情况创建Haffman树
💻 H
字号:
#ifndef ECBTREE_H 
        #define ECBTREE_H 
        #define EBTreeType long 
        struct BinTreeNode; 

        typedef struct BinTreeNode* PBinTreeNode; 
 struct BinTreeNode 
 { 
      EBTreeType info; 
      PBinTreeNode llink; 
      PBinTreeNode rlink; 
 }; 


 typedef struct BinTreeNode* BinTree; 
 typedef BinTree* PBinTree; 


 /*Start of Find Path Ulti Value*/ 
 int gConsPos; 
 int gFind; 
 char* gFindList; 
 int findLen; 
 PBinTreeNode targetNode; 
 /*End of Find Path Ulti Value*/ 


 extern PBinTree consBTree(EBTreeType* initList); 
 extern PBinTreeNode consRestBTree(EBTreeType* initList); 
 extern void findPath(PBinTreeNode inNode,PBinTreeNode searchNode); 
 extern void prePanDuan(PBinTreeNode inNode,PBinTreeNode searchNode); 
 extern void preOrder(PBinTreeNode inNode); 
 extern void preVisit(EBTreeType info); 
 extern void locateNode(PBinTreeNode inNode,EBTreeType inInfo,PBinTree targetNode); 


 extern void preOrderUnStack(PBinTreeNode inNode); 


 /*Haffman Tree Ver1*/ 
 #define MAXCHAR 30000 
 #define MAXNODE 300 
 #define MAXNUM             150 
 #define InfoType char 
 struct HtNode 
 { 
      EBTreeType ww; 
      char info; 
      int parentIndex; 
      int llinkIndex; 
      int rlinkIndex; 
 }; 


 struct HtTree 
 {
	   struct HtNode ht[MAXNODE]; 
       int rootIndex; 
     }; 


       typedef struct HtTree* PHtTree; 


       typedef struct 
       { 
            char asciiCode; 
            unsigned long haffCode; 
            int haffCodeLen; 
       }HaffCode; 


       extern PHtTree consHtTree(EBTreeType* initList); 
       extern PHtTree haffmanAlgorithm(int m,EBTreeType* w); 
       extern void preHtOrder(PHtTree inTree,int rootIndex); 
       extern void preHtVisit(InfoType info); 
       extern void preHaffListMake(PHtTree  inTree,int rootIndex,unsigned youBiao,int 
sDepth,HaffCode* inList); 


       /*End of Defination of Haffman Tree*/ 
#endif 
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -