美文网首页
找中位数(快排法)

找中位数(快排法)

作者: 翩翩公子银圈圈 | 来源:发表于2018-11-08 22:19 被阅读0次
array=[5,40,2,4,55,6]
def qsort(array,left,right):
    if(left>=right):
        return array
    lp=left
    rp=right
    key=array[left]
    while lp<rp:
        while (array[rp] >= key) and (lp < rp):
            rp -= 1
        while (array[lp]<=key) and (lp<rp):
            lp+=1
        array[lp],array[rp]=array[rp],array[lp]
    array[lp],array[left]=array[left],array[lp]
    qsort(array,left,lp-1)
    qsort(array,rp+1,right)
    print(array)
    return array
def quick_sort(array):
    return qsort(array,0,len(array)-1)

a=quick_sort(array)
# 偶数
if(len(array)%2==0):
    print((a[len(array)//2-1]+a[len(array)//2])/2)
else:
    print(a[len(array)//2])

相关文章

  • 找中位数(快排法)

  • 算法-快排法

    思想: 快排法主要是运用二分法的思想来对一批数字进行排序,这种排序方法好处是比冒泡排序节省时间,因为冒泡排序是两两...

  • 海量数据找中位数

    题目只有2G内存的pc机,在一个存有10G个整数的文件,从中找到中位数,写一个算法。 思路一:外排序(排序-归并)...

  • 门的排法

    今早遇到的值符落中宫,寄坤二宫的情形,有一点特殊性,故写出来,和友友们共同探讨,请高手们批评指正。 我初学排盘,门...

  • 每日算法:findMedianSortedArrays

    此算法的关键是:在两个数组里面找最中间的数(4个);在求中位数的时候必然有一个整合数组,输出的double中位数应...

  • 最小的次数找中位数&排序

    题目 试设计比较策略:用 6 次比较在 5 个元素中找到中位数;用 7 次比较完成 5 个元素的排序。 解析思路:...

  • 中位数的近似计算

    的公式求出中位数所在组的位置,然后再按下限公式或上限公式确定中位数。 Me——中位数;L——中位数所在组下限;U—...

  • 二分查找类题目小结

    问题的关键所在 两个中位数 区间选择 终止条件 两个中位数 下位中位数 上位中位数 区间的选择 开区间 闭区间 半...

  • vinyasa yoga day17—18

    能量编排法 今天的作业练习:支撑类(火能量) 流动能量编排法 火能量 火能量手印 太阳致敬式A*3 脐轮曼陀罗*2...

  • jsonArray对象排序

    升序排法 staffArray.sort(Comparator.comparing(obj -> ((JSONOb...

网友评论

      本文标题:找中位数(快排法)

      本文链接:https://www.haomeiwen.com/subject/zxvgxqtx.html