哈工大计算机算法基础辅修试题

时间复杂度计算

用迭代法计算   T ( n ) = 2 T ( n 2 ) + n , T ( 1 ) = 1 \ T(n) = 2T(\frac{n}{2}) +n, T(1) = 1  T(n)=2T(2n)+n,T(1)=1

证明时间复杂度

  log ⁡ 2 n = o ( n ) \ \log_2n = o(\sqrt{n})  log2n=o(n )

算法设计

  1. 长度为n的整数序列,不能一次性放入内存,要找出第k个最小的整数,请设计所需的数据结构及主要算法步骤
  2. 单循环赛,n个队伍,   n = 2 k \ n = 2^k  n=2k,规则有两条,①每一队要比赛剩下的   n − 1 \ n-1  n1个队伍 ②一天内一个队伍只可以比赛一次
    (1)   n = 2 k \ n = 2^k  n=2k 时,最少几天
    (2)   n = 8 \ n = 8  n=8 时,最少几天
  3. n项工作,每项在   s i \ s_i  si 时开始,在   f i \ f_i  fi 时结束,对每项工作,可参加可不参加,但一旦开始贼不能停止且不重叠,用动态规划算法从n项工作中找到最大兼容
    (1)写出状态转换方程及初始条件
    (2)写出伪代码,分析时间复杂度
  4. 驾车从A地到B地,   L A B = s \ L_{AB} = s  LAB=s,共   n \ n  n 个加油站,第   i \ i  i 个就站到A的距离是   d i \ d_{i}  di,且   0 = d 1 < d 2 < . . . < s \ 0=d_1<d_2<...<s  0=d1<d2<...<s,车子再加满油后可以行驶   m \ m  m 公里,出发前油箱为空,如何加油次数最少
    (1)给出求解该最优化问题的贪心选择策略
    (2)最优值/最优解的贪心算法,并分析时间复杂度
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值