构造哈夫曼树 哈弗曼树中没有度为一的节点,是标准的二叉树,所以有n个叶子结点时,需要一个长度为2n-1的一维数组存储哈弗曼树的结点。 (1)、n个叶子节点只有weight权值,处理非叶子节点,从ht[i](ht[1]~ht[n-1])中找到ht[i].weight最小的两个节点ht[s1]和ht[s2],这就是Select(int n,int &s1,int & s2,HTNode *ht)函数完成的功能。 (2)、调用select函数,并将ht[s1]和ht[s2]作为ht[l]的左右子树,即ht[s1]和ht[s2]双亲节点为ht[l],新的根节点的权值为其左右子树权值之和, ht[l].weight=ht[s1].weight+ht[s2].weight
上传时间: 2016-06-13
上传用户:ztj182002
一套比较完整的51单片机C51串口通信驱动程序,其中包括 (1)串口初始化,晶振为11.0592M,方式1 波特率300-57600; (2)串口输出一个字符(非中断方式); (3)串口输出一个回车换行; (4)串口输出一个字符串(非中断方式); (5)串口接收一个字符(非中断方式); (6)串口接收一个定长字符串(非中断方式,只用于字符需有一个的idata字符串数组);
上传时间: 2013-12-16
上传用户:685
从键盘接收输入的一个班的学生成绩,并存放于50字grade数组中,其中grade+i保存学号为i+1的学生成绩。然后根据grade中的学生成绩,把学生名次填入50字rank字数组中,其中 rank+i的内容是学号为i+1学生的名次。再按学号顺序把名次从终端上显示出来。(输入学生个数<=50,可以不定)
上传时间: 2014-01-17
上传用户:VRMMO
Matlab中没有现成的Hermite插值函数,必须编写一个M文件实现插值。 设n个节点的数据以数组x0 (已知点的横坐标), y0(函数值), y1(导数值)输入(注意Matlat的数组下标从1开始), m个插值点以数组x 输入,输出数组y 为m 个插值。编写一个名为hermite.m的M文件。
上传时间: 2013-12-01
上传用户:zhangliming420
Matlab中没有现成的Lagrange插值函数,必须编写一个M文件实现Lagrange插值。 设n个节点数据以数组x0,y0 输入(注意Matlat的数组下标从1开始),m 个插值点以数组 x输入,输出数组y 为 m个插值。 编写一个名为lagrange.m的M文件。
上传时间: 2016-06-19
上传用户:lhc9102
编译原理之词法分析器,通过数组。 不是很高明有改动,无措!请大家参考!
上传时间: 2016-06-20
上传用户:lanjisu111
以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去 除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中
上传时间: 2016-06-23
上传用户:13160677563
要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列
标签:
上传时间: 2014-11-29
上传用户:Late_Li
本实训是有关线性表的顺序存储结构的应用,在本实训的实例程序中,通过C语言中提供的数组来存储两个已知的线性表,然后利用数组元素的下标来对线性表进行比较。通过对本实训的学习,可以理解线性表在顺序存储结构下的操作方法。 在实训中,我们设A=(a1,a2,…,an)和B=(b1,b2,…,bm)是两个线性表,其数据元素的类型是整型。若n=m,且ai=bi,则称A=B 若ai=bi,而aj<bj,则称A<B;除此以外,均称A>B。设计一比较大小的程序。
上传时间: 2014-01-14
上传用户:www240697738
编译原理课程设计核心模块。(除语义分析外都经过测试) 适用于 Turbo C++,C++ Builder,Visual C++ 若出现内存不足,请将数组定义小一些,且定义为Static 接口说明见Compiler.h文件
上传时间: 2013-12-25
上传用户:WMC_geophy