- 博客(8)
- 收藏
- 关注
原创 redis分布式锁
redis分布式锁适用于分布式系统对同一数据操作,要使用redis锁,需要先了解redis的两个命令操作SETNX和GETSET1、SETNX key value将key设置值为value,如果key不存在,这种情况下等同SET命令。 当key存在时,什么也不做。SETNX是”SET if Not eXists”的简写2、GETSET key value自动将key对应到value
2017-10-26 13:57:58
1002
原创 经典排序算法--选择排序
对比数组中前一个元素跟后一个元素的大小,如果后面的元素比前面的元素小则用一个变量k来记住他的位置,接着第二次比较,前面“后一个元素”现变成了“前一个元素”,继续跟他的“后一个元素”进行比较如果后面的元素比他要小则用变量k记住它在数组中的位置(下标),等到循环结束的时候,我们应该找到了最小的那个数的下标了,然后进行判断,如果这个元素的下标不是第一个元素的下标,就让第一个元素跟他交换一下值,这样就找到
2015-06-02 11:22:12
301
转载 经典排序算法--快速排序
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列
2015-06-02 11:01:31
265
原创 斐波那契数列算法分析--递归、非递归和公式法
类似问题有:1、排列组合有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法?这就是一个斐波那契数列:登上第一级台阶有一种登法;登上两级台阶,有两种登法;登上三级台阶,有三种登法;登上四级台阶,有五种登法……1,2,3,5,8,13……所以,登上十级,有89种走法。2、一枚均匀的硬币掷10次,问不连续出现正面的可能情形有
2015-06-02 10:29:58
906
原创 汉诺塔递归算法
当盘子的个数为n时,移动的次数应等于2^n – 1(有兴趣的可以自己证明试试看)。后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步操作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放 A B C;若n为奇数,按顺时针方向依次摆放 A C B。⑴按顺时针方向把圆盘1从现在
2015-06-02 10:12:37
445
原创 Oracle创建表空间
登录sqlpluss:用户:system,密码:system,数据库:orcl-----已本地管理员身份连接oracle,conn / as sysdba; 第1步:创建临时表空间 create temporary tablespace platform_temptempfile 'E:\oracle\product\10.2.0\oradata\orcl\platform
2015-06-01 18:32:45
361
原创 经典排序算法--插入排序
一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置⒌ 将新元素插入到下一位置中⒍ 重复步骤2~5/**插入
2015-06-01 17:58:38
285
原创 经典排序算法--冒泡排序
冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。/**冒泡排序---稳定排序*/static vo
2015-06-01 17:54:50
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人