Go语言版top-k算法
1、名词解释
在数组中找出最大的k
个数出来
如:
1
,3
,8
,6
,7
,5
,3
,2
,12
,38
,23
在这个数组中找出最大的2
个数出来
思路:如5个数,先取5个数,然后将5个数进行折半排序,剩下的元素进行循环,与里面的数据进行插入排序,思路:先取中间数据与循环中的数据进行比较,然后取出数据进行比较,循环结束,5个数取出
目前两个数的如下循环处理方式:
思路:取出两个数据进行排序,剩下的,如果大于当前的右边的数据则进行替代右边的,如果大于左边的替换左边的
2、递归
思路同上,需要递归的时候进行递归循环测试,如第一次循环的数值,第二个,最后一个的值是否能打印。避免死循环
3、top-2