C++实现数组中出现最频繁的前top k个元素
要求: 时间复杂度小于等于 nlogn.
算法解题思路:
1, 由于原始数组是杂乱无序的, 所以 统计数组中元素出现的次数时间复杂度达到了n^2, 不符合题意.
2, 在统计数组中的元素出现次数之前, 先对数组进行排序, 用时间复杂度是 nlogn的排序算法进行排序, 在这里用C++ 中函数库STL中的sort直接排序, 关于STL中sort实现(成熟的快速排序算法, 结合了内插排序,具体
原创
2016-05-10 21:11:34 ·
3758 阅读 ·
0 评论