算法
文章平均质量分 76
iteye_17249
这个作者很懒,什么都没留下…
展开
-
眼睛直观感受几种常用排序算法
1 快速排序介绍: 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二...原创 2012-01-05 16:06:56 · 142 阅读 · 0 评论 -
Peterson 算法
Peterson 算法(Dekker算法的演化)是免锁编程的基本算法之一,这个算法设计得很巧妙,核心就是三个标志位是怎样控制两个方法对临界区的访问的: Java代码 volatile int flag1 = 0; //主观因素:flag1表示方法1自身是否要求进入临界区 volatile int flag2 = 0; //主观因素:flag2表示方法2自身是否要...原创 2011-11-15 22:12:30 · 331 阅读 · 0 评论 -
【温故】 LRU算法原理和分析
1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3. 当...原创 2016-01-11 10:26:54 · 221 阅读 · 0 评论 -
【温故】 LRU算法的代码实现
[java] import java.util.LinkedHashMap; import java.util.Collection; import java.util.Map; import java.util.ArrayList; /** * An LRU cache, based on <code>LinkedHash...原创 2016-01-11 10:37:00 · 254 阅读 · 0 评论 -
【温故】 LRU算法和LFU算法
LRU和LFU是不同的!LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!比如,第二种方法的时期T为10分钟,如果每分钟进行一次调页,主存块为3,若所需页面走向为2 1 2 1 2 3 4注意,当...原创 2016-01-11 10:45:06 · 96 阅读 · 0 评论 -
【2015工作总结】排序算法
排序算法汇总: 时间复杂度空间复杂度稳定排序 气泡排序最差、平均都是O(n²),最好是O(n)1鸡尾酒排序最差、平均都是O(n²),最好是O(n)1插入排序最差、平均都是O(n²),最好是O(n)1归并排序最差、平均、最好都是O(nlog n)O(n)桶排序O(n)O(...原创 2016-03-23 10:39:31 · 152 阅读 · 0 评论