当前位置:首页|资讯

python算法:topk问题

作者:草木灰P_Tracyzem发布时间:2024-10-18

topk问题就是一组数的前k个问题,解决方法从简单到复杂都有

1:sort(list)然后list[0:k-1]

2:选择/冒泡/插入排序然后取前k 同上

3:堆排序,原理:

取前K个元素做一个小根堆(从上到下递增),堆顶是目前第k大的数

依次向后遍历原来的列表,对于列表中的元素,如果小于堆顶,忽略本元素,如果大于堆顶,把堆顶更换为本元素并且对堆进行一次调整

遍历所有元素之后把元素弹出堆顶

其中,带有模块的堆排序:

没有模块,手写建队原理/排列取值原理的堆排序:



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1