算法课件2015第2章_递归与分治.pptVIP

  • 24
  • 0
  • 约1.99万字
  • 约 87页
  • 2017-03-04 发布于浙江
  • 举报
* 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 线性时间选择 实例:找出中位数 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 8, 17, 33,51,57, 11,25,35,37, 49, 2, 3, 13,14,52, 6, 12, 29,32,54, 5 , 7 , 16,22,23 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 线性时间选择 实例:找出中位数 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 8, 17, 33,51,57, 11,25,35,37, 49, 2, 3, 13,14,52, 6, 12, 29,32,54, 5 , 7 , 16,22,23 13, 16, 29, 33, 35 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 线性时间选择 实例:找出中位数 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 8, 17, 33,51,57, 11,25,35,37, 49, 2, 3, 13,14,52, 6, 12, 29,32,54, 5 , 7 , 16,22,23 13, 16, 29, 33, 35 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 线性时间选择 实例:找出中位数 5,16,22,23,7 ,8,17,11,25,14,3,2,13,12,6,29,52, 37, 51,57,49,35,33,32,54 以29作为划分点,重新划分数组 13, 16, 29, 33, 35 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 线性时间选择 实例:找出中位数 5,16,22,23,7 ,8,17,11,25,14,3,2,13,12,6,29,52, 37, 51,57,49,35,33,32,54 13, 16, 29, 33, 35 与k值作比较 * 如果能在线性时间内找到一个划分基准,使得按这个基准所划分出的2个子数组的长度都至少为原数组长度的ε倍(0ε1是某个正常数),那么就可以在最坏情况下用O(n)时间完成选择任务。 如果,ε=9/10,算法递归调用所产生的子数组的长度至少缩短1/10。 那么,在最坏情况下,算法所需的计算时间T(n)满足递归式T(n)≤T(9n/10)+O(n) 。 由此可得,T(n)=O(n)。 线性时间选择 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求在最坏情况下,用O(n)时间找出这n个元素中第k小的元素 线性时间选择 实例:n=25 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 8, 17, 33,51,57, 11,25,35,37, 49, 2, 3, 13,14,52, 6, 12, 29,32,54, 5 , 7 , 16,22,23 排序 13, 16, 29, 33, 35 划分为n/5组 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求在最坏情况下,用O(n)时间找出这n个元素中第k小的元素 线性时间选择 实例:n=25 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 2, 3, 13,14,52, 5 , 7 , 16,22,23, 6, 12, 29,32,54,8, 17, 33,51,57, 11,25,35,37, 49 排序 13, 16, 29, 33, 35 划分为n/5组 * 给定线性序集中n个元素和一个整数k,1≤k≤n,要求在最坏情况下,用O(n)时间找出这n个元素中第k小的元素 线性时间选择 实例:n=25 8, 33,17,51,57, 49,35,11,25,37, 14,3, 2, 13,52, 12,6, 29,32,54, 5, 16,22,23,7 2, 3, 13,14,52, 5 , 7 , 16,22,23,

文档评论(0)

1亿VIP精品文档

相关文档