备战秋招——常规算法笔试题集锦(持续更新)

1.任何一个递归过程都可以转换成非递归过程(✓)2.Hanoi问题假设个盘子的Hanoi问题需要次操作来完成,三根柱子分别为A,B,C,则实现算法主要分为三个步骤:1)把n-1个盘子由 A 移到 B2)把第n个盘子 由 A 移到 C3)把n-1个盘子由 B 移到 C可以看出,此问题是一个递归问题:。个盘子的Hanoi问题的总移动次数为:。3.设哈希表长为11,哈希函...
摘要由CSDN通过智能技术生成

1.任何一个递归过程都可以转换成非递归过程(✓)

2.Hanoi问题

假设n个盘子的Hanoi问题需要f(n)次操作来完成,三根柱子分别为A,B,C,则实现算法主要分为三个步骤:

1)把n-1个盘子由 A 移到 B

2)把第n个盘子 由 A 移到 C

3)把n-1个盘子由 B 移到 C

可以看出,此问题是一个递归问题:f(n)=f(n-1)+1+f(n-1)=2f(n-1)+1

n个盘子的Hanoi问题的总移动次数为:2^n-1

3.设哈希表长为11,哈希函数为Hash (key)=key%11。存在关键码{43,7,29,22,16,92,44,8,19},采用二次探测法处理冲突,建立的hash表为

0 1 2 3 4 5 6 7 8 9 10
22 44     92 16 19 7 29 8 43


采用开放定址法处理冲突中的二次探测再散列(也即是题目中的二元探测法),哈希函数变为Hash(key)= (Hash(key) + d) \mid 11,\text{ } d= 1^2, -1^2, 2^2, -2^2, 3^2, -3^2...

对于43,代入公式为Hash(43) = 43 % 11 = 10, 则地址为10;

对于7,代入公式为Hash(7) = 7 % 11 = 7,则地址为7;

对于29,代入公式为Hash(29) = 29 % 11 = 7, 与7冲突,则采用二次探测进行消除冲突, 继续(7 + 1) % 11 = 8,没有冲突,则地址为8;

对于22,代入公式Hash(22) = 22 % 11 = 0, 则地址为0;

对于16,代入公式Hash(16) = 16 % 11 = 5, 则地址为5࿱

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值