- 16
- 0
- 约1.61万字
- 约 67页
- 2016-11-03 发布于河南
- 举报
排序与查找
2006-7-30 hhm 【算法2_二分查找】O(nlog2n) 1. 输入,并得到每个基因值对应的哥哥的序号a[1..n],弟弟的序号b[1..n] 2.将a和b按a升序排列 3. 初值a[1..n]←∞; 4. for i←1 to n do begin 5. 在数组a中二分查找大于b[i]的首个位置j; 6. a[j]←b[i]; 7. end; 8. 二分查找首个∞位置j; 9. 输出j-1; 实例 ① 9 8 3 5 6 4 7 2 1 10 ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 1 9 4 8 10 5 6 7 3 2 a值 b值 ① 1 2 3 4 5 6 7 8 9 10 ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 2 4 9 6 7 3 8 10 1 5 a 序号 b 序号 转化为:找b序号中的最长升序序列 序列长度k 序列长度为K时,该序列最后1个数字的最小值a[k] 初值 找2 找4 找9 找6 找7 找3 找8 找10 找1 找5 1 ∞ 2 2 2 2 2 2 2 2 1 1 2 ∞ ∞ 4 4 4 4 3 3 3 3 3 3 ∞ ∞ ∞ 9 6 6 6 6 6 6 5 4 ∞ ∞ ∞ ∞ ∞ 7 7 7 7 7 7 5 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 8 8 8 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 10 10 7 ∞ ∞ ∞ ∞
原创力文档

文档评论(0)