- 22
- 0
- 约1.08万字
- 约 50页
- 2017-02-08 发布于江苏
- 举报
减治法演示文件修改版
选择问题的例子: 5 3 8 1 4 6 9 2 7 选择问题的查找过程示例(查找第4小元素) 以5为轴值划分序列 45,只在左侧查找 以2为轴值划分序列 42,只在右侧查找 以4为轴值划分序列 4=4,轴值即为第4小元素 2 3 4 1 5 6 9 8 7 2 3 4 1 · · · · · 1 2 4 3 · · · · · · · 4 3 · · · · · · · 3 4 · · · · · 算法5.7——选择问题 1. i=1; j=n; //设置初始查找区间 2. 以r[i]为轴值对序列r[i]~r[j]进行一次划分,得到轴值的位置s; 3. 将轴值位置s与k比较 3.1 如果k=s,则将r[s]作为结果返回; 3.2 否则,如果ks,则j=s-1,转步骤2; 3.3 否则,i=s+1,转步骤2; 最好情况:每次划分的轴值恰好是序列的中值,则可以保证处理的区间比上一次减半,由于在一次划分后,只需处理一个子序列,所以,比较次数的递推
原创力文档

文档评论(0)