- 博客(3)
- 收藏
- 关注
原创 算法:查找两个序列的中位数(分治法)
问题:长度为n的有序序列(升序),求两个有序序列中的中位数解法:当n为奇数时,中位数出现在m=(s+t)/2当n为偶数时,有上中位m=[(s+t)/2]+1有下中位m=(s+t)/2为了简单,仅考虑中位数为m=(s+t)/2当a序列中位数小于b序列中位数,即a[m1]<b[m1]舍弃a前半部分b后半部分 ⏩取a后b前⏪当a序列中位数大于b序列中位数,即a[m1]>b[...
2020-04-10 15:38:18 3350
原创 算法:查找序列最小k元素(分治法)
问题: 给定含有n元素的无序序列,求这个序列中第k(1<k<n)小的元素求解 :无序序列在a[0…n-1],若将a递增排序,则第k小的元素为a[k-1]❗a[s…t]既可表示初始序列,也可表示划分后的子序列❗第k小元素下标为k-1有三种情况:若 k-1= i, a[i]即为所求,返回a[i]。若k-1<i , 第k小元素在a[s…i-1]子序列。若*k-1>...
2020-04-09 17:52:46 2262 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人