数据结构与算法
文章平均质量分 77
「已注销」
这个作者很懒,什么都没留下…
展开
-
Java如何找出数组中前k个高频元素
比如,一个数组为:[1,2,3,5,2,3,5,7,7,7,5,7 ]前2个高频元素就是7和5。思路:最简单的办法就是采用两层for循环去遍历,时间复杂度为O(n2)。方法二:先用快速排序将数组排序,然后依次找出前k个高频元素,时间复杂度O(NLogN)。方法三:可以采用HashMap,这种方式时间复杂度为O(N),空间复杂度O(N)。下面采用第三种方式:publi原创 2016-09-11 16:05:20 · 5618 阅读 · 2 评论 -
关于计算时间复杂度和空间复杂度
相信学习编程的同学,或多或少都接触到算法的时间复杂度和空间复杂度了,那我来讲讲怎么计算。 常用的算法的时间复杂度和空间复杂度 一,求解算法的时间复杂度,其具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵ 计算基本语句的执行次数的数量级; 只需计算基本语句执行次数的数量级,这就意原创 2016-09-04 00:09:45 · 112173 阅读 · 14 评论