![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Minn0916
这个作者很懒,什么都没留下…
展开
-
程序员有趣的面试智力题
http://blog.csdn.net/hackbuteer1/article/details/6726419程序员有趣的面试智力题 数据结构(1)--线性表的实现(顺序存储)http://blog.csdn.net/wudemiao1246403394/article/details/6991053 http://blog.csdn.net/hackbute转载 2011-11-27 13:43:14 · 586 阅读 · 0 评论 -
向量类型的
typedef struct{ int weight; int parent,lc,rc;}HTnode;typedef HTnode HTree[max];//说是向量类型的将哈弗曼编码在一个长度为(2n-1)的数组里完成,数据结构定义的HTnode是一个结构体,而HTree是定义了一个结构体集合(数组)的构造类型名就表示用HTree 变量名;定义原创 2011-12-04 01:10:40 · 768 阅读 · 0 评论 -
利用邻接表存储图,实现其递归与非递归的深度遍历和广度遍历
/***************************************************************** *功 能:利用邻接表存储图,实现其递归与非递归的深度遍历和广度遍历 *作 者:JarvisChu *时 间:2011-04-30 *********************************************************原创 2011-12-03 14:50:31 · 1822 阅读 · 0 评论 -
编写递归算法 计算二叉树中叶子节点的个数
#include struct BiTree{ char data; struct BiTree *lchild; struct BiTree *rchild; }; struct BiTree* CreatBiTree(){ char x; struct BiTree* p;原创 2011-12-03 14:45:08 · 9887 阅读 · 0 评论 -
实验名称: :Huffman编码(二叉树应用)
Huffman编码(二叉树应用)二、实验的目的和要求:1.要求对文件进行Huffman编码的算法,以及对乙编码文件进行解码的算法,为简单起见,可以假设文件是存放在一个字符向量;2.熟练掌握二叉树的应用; 3.熟练掌握计算机系统的基本操作方法,了解如何编辑、编译、链接和运行一个C++程序及二叉树上的基本运算;4.上机调试程序,掌握查错、排错使程序能正确运行。三、实验的环境:指原创 2011-12-03 14:42:45 · 2994 阅读 · 0 评论 -
课程设计赫夫曼编码
课程设计的目的巩固构造赫夫曼树的算法。设计实验用程序实现赫夫曼树的构造。熟悉用先序、中序或后序的访问方法得到个叶子结点的赫夫曼编码。三概要设计(函数划分、总体设计)总体设计(1) 输入一个字符串用结构体链表存储字符串中出现的不同字符及其出现的次数。(2) 定义赫夫曼数的结点结构体,把不同的字符及其在字符串中出现的次数作为叶子结点的元素及其权值,统计叶子结点的个数n,原创 2011-12-03 14:41:31 · 1643 阅读 · 0 评论 -
哈夫曼编码源程序
哈夫曼编码一、源程序#include#include#include#include/* Huffman 树的存储结构*/#define n 8 /*叶子数目根据需要设定*/#define m 2*n-1 /* Huffman 树中结点总数 */typedef struct {int weight;原创 2011-12-03 14:39:35 · 3334 阅读 · 0 评论 -
层次遍历二叉树 并输出遍历结果
#include #include #define max 100 typedef char ElemType; typedef struct BiTNode{ ElemType data; struct BiTNode *lchild,*rchild; } BiTNode,*BinTree; //建立二叉树 void原创 2011-12-03 14:38:56 · 4609 阅读 · 1 评论 -
左右子树交换
#include #include #include"stdlib.h"struct TreeNode //树结构体定义{ char data; TreeNode *lchild,*rchild;};char getonech(char ar[]){ static i; return ar[i++原创 2011-12-03 14:34:23 · 1078 阅读 · 0 评论 -
编写递归算法,计算二叉树中叶子结点的数目
#includestruct BiTree{ char data; struct BiTree *lchild; struct BiTree *rchild;};struct BiTree* CreatBiTree(){ char x; struct BiTree* p; scanf("%c",&x); if(x原创 2011-12-01 22:14:50 · 26155 阅读 · 0 评论 -
哈夫曼编码
哈夫曼编码是一种可变字长编码方法将每个字符的编码设计为不等长的,使用频度较高的字符分配一个相对比较短的编码,使用频度较低的字符分配一个比较长的编码这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的缺点是译码不唯一二进制表示形式是一种等长编码这种编码的特点是译码简单且具有唯一性,但编码长度并不是最短(1)等长编码这种编码方式的特点是每个字符的编码长度相同(编码长度就是每个编原创 2011-12-01 21:25:32 · 16787 阅读 · 0 评论 -
建立图的存储结构 :邻接表 和 邻接矩阵
建立图的存储结构 :邻接表 和 邻接矩阵const int n0 = 100;const int infinity = 32767;struct arcnode{//边节点 int vertext; //边上另外一个节点的存储位置 int weight; //边的权值 arcnode* next; //指向下一条边};struct node{//存原创 2011-12-02 13:48:25 · 2838 阅读 · 0 评论 -
本例是采用一般的队列来存储和访问二叉树
访问过程描述如下:访问根结点,并将该结点记录下来;若记录的所有结点都已处理完毕,则结束遍历操作;否则重复下列操作。取出记录中第一个还没有访问孩子的结点,若它有左孩子,则访问左孩子,并将记录下来;若它有右孩子,则访问右孩子,并记录下来。 在这个算法中,应使用一个队列结构完成这项操作。所谓记录访问结点就是入队操作; 而取出记录的结点就是出队操作。这样一来,我们的原创 2011-12-01 20:12:15 · 1431 阅读 · 0 评论 -
建立赫夫曼树以及求赫夫曼编码
2011-07-08 14:18#include #include #include #define n 100 //叶子数目#define m 2*n-1 //树中结点总数typedef struct原创 2011-12-04 01:23:45 · 1972 阅读 · 0 评论