三叉链表创建 c语言,c语言静态三叉链表构造一棵Huffman树并求其编码.doc

阅读: 评论:0

三叉链表创建 c语言,c语言静态三叉链表构造一棵Huffman树并求其编码.doc

三叉链表创建 c语言,c语言静态三叉链表构造一棵Huffman树并求其编码.doc

课程设计题目:

采用静态三叉链表构造一棵Huffman树并求其编码

一 课程设计应达到的目的:

数据结构课程设计的目的是,为了让学生在学习 《数据结构》 课程的基础上深入理解数据结构的基本理论,掌握对数据结构的各种操作的算法设计方法,增强对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力,在实践中培养独立分析问题和解决问题的作风和能力,进一步深入巩固所学理论知识、使理论与实际相结合的重要实践环节。本课程设计通过完成一些具有一定难度的程序的编写、调试、运行工作,掌握面向过程程序设计的基本方法,从而提高学生分析问题解决问题的能力。

课程设计是教学中很重要的一项实践环节,它可以帮助学生充分理解课堂教学中的内容,对提高学生的实践认识和实际动手能力都有很重要的实际意义。学生应在规定的时间内,按照课程设计的要求,结合所学的理论知识,查找相关资料,完成好本次课程设计,提高程序编写的能力,为将来的实际工作取得一定的经验。

二 课程设计题目及要求

采用静态三叉链表构造一棵Huffman树并求其编码

增加了权值的计算和Huffman树的输出 并写入code文件

三 主函数及分析

it学习网收集?

主程序代码

Main.cpp

#include

#include

#include"readFile.h"

#include"HuffmanTree.h"

int main()

{

char str[1000];

cin>>str;

HuffmanTree htree(str);

htree.print();

htree.writetoFile();

str1(),hufcodes(),leafNum());

return 0;

}

HuffmanTree.h

#include

#include

#include

template

struct TriNode

{

T data;

int parent,left,right;

};

class HuffmanTree

{

private:

char str[1000]; //输入的字符串

char str1[1000]; //哈弗曼叶子值

int leafNum; //子叶结点个数

TriNode *huftree; // 哈弗曼的结点数组

char **hufcodes; //哈弗曼编码数组

void createHuffmanTree(int weight[],int n); //创建指定权值集合的哈弗曼树

void getHuffmanCode(); //获得哈弗曼编码

public:

HuffmanTree(char str5[]);

~HuffmanTree();

void writetoFile(); //写入文件

char** gethufcodes();

char* getstr1();

int getleafNum();

void print();

void print(int u);

int getheight(int r);//得出r节点的深度

};

const Max_Weight=9999; // 默认最大权值

/*******************************************************************/

HuffmanTree::HuffmanTree(char str5[])

{

strcpy(str,str5);

int count=0,i,j,k=0;

for(i=0;i

{

for(j=0;j

if(str[i]!=str1[j]) k++;//如果str中的字符在str1中扫描不等k++,k初值为0

if(k==count+1)//如果k等于字符串str1的长度的话 说明str[i]在str1中没出现,加到str1中

str1[count++]=str[i];

k=0;

}

str1[count]='';//将哈弗曼叶子字

本文发布于:2024-02-03 06:48:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691413149345.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:链表   语言   一棵   静态   doc
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23