- 博客(3)
- 收藏
- 关注
原创 蓝桥基础第28题:Huffuman树
Huffuman树问题描述问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树
2021-03-23 10:48:46 131
原创 大数运算:蓝桥杯基础第29题(高精度加法)
原理同大数乘法类似,在这个帖子中题目描述问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[
2021-03-22 20:22:12 102
原创 大数运算:蓝桥基础第30题(阶乘计算)
大数运算方法数据过大时,一般的数据类型无法存储,此时要使用大数运算的专门方法,即用数组存储数据,模拟手算,按位计算。例如:1234*4 用int数组a来存储第一步:将个十百千位分别存到a[0]、a[1]、a[2]、a[3]中。此时a={4,3,2,1};第二步:从个位开始乘以4,注意进位运算。(1)4 * 4 = 16,个位6存储在a[0]中,记下进位1,此时a={6,3,2,1};(2)3 * 4 = 12 ,加进位1得13,个位3存储在a[1]中,记下进位1,此时a={6,3,2,1};
2021-03-22 18:56:52 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人