你是否觉得锁是一种很神奇的东西,在并发编程中,你只需要将你的代码加上锁,就能保证代码是线程安全的(当然现实和感觉有很大差别,代码的线程安全是非常复杂的),那么,这些都是怎么做到的呢?当存在大量线程同时竞争锁时,竞争失败的锁会怎么做呢?锁又是怎么保证这一切高效的执行的呢?这篇文章将为你回答这些问题,首先我将介绍怎样实现一个正确的锁,然后介绍高效的锁应该具备的条件,最后将介绍两种常用的队列锁算法:CL...
分类:
其他好文 时间:
2014-05-12 06:49:30
阅读次数:
394
水题。
我之前说过包含至多几个至少几个的问题都比较难,这个题可是让我大脸了。至多可以重复一次,那就重复次数多于两次再计算重复,否则的话像普通的数据一样直接按照重复次数前移就可以了嘛。不过说归说,这种inspace的思想还是有些用处的,数组这种实现方式致命的缺点就是删除或者添加中间的元素代价太大,因为不好把握数据的最终位置。这个题是一种情况,合并两个排序好的数组也是一个例子。
class Sol...
分类:
其他好文 时间:
2014-05-11 14:54:49
阅读次数:
248
水贴王问题
个人信息:就读于燕大本科软件工程专业 目前大三;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
博客内容:水贴王问题
博客时间:2014-5-7;
编程语言:Java ;
编程坏境:Windows 7 专业版 x64;
编程工具:jdk,eclipse...
分类:
其他好文 时间:
2014-05-11 14:22:50
阅读次数:
296
做一个医学项目,其中在病例评分时会用到单源最短路径的算法。单源最短路径的dijkstra算法的思路如下:
如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。Dijkstra是以最短路径长度递增,逐次生成最短路径的算法。例如:对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达V...
分类:
Web程序 时间:
2014-05-11 04:52:06
阅读次数:
415
//链表操作:建立、插入、删除、查找、倒置、删除等基本操作
#include
#include
typedef
struct LNode
{
int data;
structLNode *next;
}LNode,*Llist;
LNode *creat_head();//创建一个空表
void creat_list(LNode *,int);//创...
分类:
其他好文 时间:
2014-05-11 03:33:11
阅读次数:
351
不相交区间问题,贪心可水过。。。(贪心必会问题)...
分类:
其他好文 时间:
2014-05-11 03:07:37
阅读次数:
324
import java.util.Scanner;
// 并查集 判断一个图中有几个联通块
public class UnionFind {
private int[] father;//
private int count;// 分量数量
public UnionFind(int N){
count=N;
father=new int[N];
for(int i=0;i<N...
分类:
其他好文 时间:
2014-05-11 03:03:44
阅读次数:
308
Python3.2 实现基于KNN算法的数据分类...
分类:
编程语言 时间:
2014-05-11 02:59:46
阅读次数:
332
已知
1) 对于数字1 可以表达为
(1)
2) 对于数字2 可以表达为
(1,1) (2)
解释
1 + 1 = 2
3) 对于数字3 可以表达为
(1,1,1) (1, 2) (2, 1) (3)
1 + 1 + 1 = 3
1 + 2 = 3
2 + 1 = 3
求对于数字N 所有表达项...
分类:
其他好文 时间:
2014-05-11 02:27:52
阅读次数:
361
周周结:
本周主要还是听老师讲的一些内容,自己就是针对struts2这门技术来做一个项目:一个人员管理系统,这个系统在做的过程中也遇到了一些麻烦,自己在很多知识上的欠缺,基于此本周重点就看了jsp书籍以弥补自己的一些知识上的漏洞(struts2里面的一些关于jsp的一些知识掌握不是很好)。因为学校马上要运动会了,我们每天闲暇的时间就在练团体操了,没有大把时间来攻技术。对于人员管...
分类:
其他好文 时间:
2014-05-11 01:48:43
阅读次数:
554