迭代和递归,汉诺塔移动次数、散列表、哈夫曼树权值计算、中序、前序、后序表达式

迭代是利用变量的原值推出新值,是某段代码实现循环,不断地精益求精。
递归是自己调用自己。

汉诺塔移动次数:g(n)=2*g(n-1)+1 即 g(n) = 2^n -1

散列表中有 m 个存储单元,散列函数 H(key)= key % p ,则 p 最好选择小于等于m的最大素数。

哈夫曼树权值计算:一棵哈夫曼树的带权路径长度等于树中所有的叶结点的权值乘上其到根结点的路径长度。

装填因子 = (哈希表中的记录数) / (哈希表的长度)
装填因子是哈希表装满程度的标记因子。值越大,填入表中的数据元素越多,产生冲突的可能性越大

中序、前序、后序表达式:中序表达式就是我们常见的表达式,比如22/(5-1)+7(9+6)

中序转后序: 遇见数先输出,即输出为 2
号压入栈中,继续读取下一个数2输出 得输出为 22
继续读取下一个数/号,比栈顶元素没有更高级的运算级别,则得输出为 ** 22
**,压入栈。栈为 ** /**
继续读取下一个(号,比栈顶元素有相同或者更高级的运算级别,则压入栈。栈为 ** /(**
继续读取下一个数5,输出变为** 225**。
继续读取下一个数 -号,比栈顶元素运算级别低,但是由于栈顶是(,所有继续压入,栈变为** /(-**
继续读取下一个元素1 ,输出为**22
51**。
继续读取下一个元素),弹出栈顶元素,直到(,则输出为22*51-,栈为** /**
继续读取下一个元素+号,比栈顶元素运算级别低,则弹出栈元素 ,输出为** 2251-/** ,栈为 ** +
继续读取下一个元素7,输出变为
2251-/7 **.
继续读取下一个元素
号,压入栈为 ** +
**。
继续读取下一个元素(号,压入栈为 ** +
继续读取下一个元素9,输出变为
22
51-/79 .
继续读取下一个元素+号,压入栈为 ** +(+
继续读取下一个元素6,输出变为
22
51-/796 .
继续读取下一个元素),输出变为
2251-/79 ++
.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值