- 5
- 0
- 约2.43万字
- 约 81页
- 2017-06-04 发布于贵州
- 举报
计算机算法基础第二章)
* 5. 快速分类算法的迭代模型 消去递归(略) * 2.6 选择问题 1. 问题描述 给出含有n个元素表A(1:n),要求确定其中的第k小元素。 2. 设计思路 利用PARTITION过程。如果划分元素v测定在A(j)的位置上,则有j-1个元素小于或等于A(j),且有n-j个元素大于或等于A(j)。此时, 若k=j,则A(j)即是第k小元素;否则, 若kj,则第k小元素将出现在A(1:j-1)中; 若kj,则第k小元素将出现在A(j+1:n)中。 * 3. 利用PARTITION实现的选择算法 算法描述 算法2.15 找第k小元素 procedure SELECT(A,n,k) //在数组A(1:n)中找第k小元素,并将之放在A(k)中。// integer n,k,m,r,j; m←1;r ←n+1;A(n+1) ←+∞ //A(n+1)被定义,并置为一大值,用于限界// loop //在进入循环时,1≤m≤k≤r≤n+1 // j ←r //将剩余元素的最大下标加1后置给j // call PARTITION(m.j) //返回j,它使
原创力文档

文档评论(0)