番茄工作法使用心得
一 番茄工作法概述 每25min为一个番茄钟,每个钟结束后休息5min,每4个钟休息20-30min。 主要步骤包括: 长期维护一个“活动清单”,清
要从一个数组中找出第k小的元素,最容易想到的是快速排序,但是快速排序解决这个问题有很多不必要的操作,在快速排序中,根据“哨兵”元素把数组分成两部分,然后对两部分进行递归处理,第k个顺序统计量的算法也借鉴这种思路,我们称为“快速选择(quick select)算法”,但是快速选择算法每次只需要处理第K个元素所在的那一部分就行,我们的目的只是找到目标元素,随着递归次数的深入,快速选择算法要处理的元素会越来越少(而快速排序随着递归的深入,每次递归处理的元素总数依然是n),这种差别是很大的,后面分析时间复杂度时可以得知快速选择算法的期望运行时间是$\theta(n)$。
快速选择算法跟快速排序类似,主要步骤就是分组算法:根据哨兵元素把数组分成两组,一组小于哨兵,一组大于哨兵,然后进行递归调用。
自动内存管理主要作用在堆(heap)
上,而虚拟机规范并没有限定自动内存管理的实现方式,本文以时下流行的HotSpot
虚拟机为例,介绍其中的自动内存管理(主要是垃圾回收)机制,以及它提供的几款垃圾回收器(Garbage Collector,简称GC)。