版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chduan_10/article/details/81326963
方法一:哈希表统计词频,每次查找插入的时间复杂度是O(1),一共O(n)。然后排序使用下面的堆排序;
方法二:使用map即二叉查找树统计词频,每次查找插入O(logn),一共O(nlogn)。然后排序使用下面的堆排序;
堆排序nlogk(构建k个数的最小堆,和堆顶元素比较,如果比堆顶元素小,替换然后shiftdown)
如果不需要前k项进行排序,直接使用快排的前k部分,O(n)复杂度。