3.1判断对象是否已死引用-计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器为0的对象就是不可能再被使用的。3.2判断对象是否已死引用-可达性分析算法在主流的程序语言中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思路就...
分类:
编程语言 时间:
2015-03-30 00:59:32
阅读次数:
247
networkx:一个用Python语言开发的图论与复杂网络建模工具,内置了经常使用的图与复杂网络分析算法,能够方便的进行复杂网络数据分析、仿真建模等工作。依赖工具:numpypyparsingdatautilmatplotlibnetworkx採用随机图做个实验:from random impor...
分类:
编程语言 时间:
2015-03-19 13:13:44
阅读次数:
2594
概述程序计数器,本地方法栈,虚拟机栈随线程而生,随线程而灭. Java堆和方法区则不一样,这部分内存分配和回收的都是动态的,垃圾收集器所关注的是这部分内存.判断对象是否是垃圾的算法JVM没有选用引用计数算法来管理内存,最主要的是引用计数很难解决对象之间相互循环引用的问题.JVM采用了可达性分析算法来判断对象是否能回收.用GC Roots对象作为起点,向下搜索,搜索走过的路劲称为引用链(referen...
分类:
编程语言 时间:
2015-03-19 10:15:47
阅读次数:
168
题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。
们把n级台阶时的跳法看成是n的函数,记为f(n)。当n>2时,第一次跳的时候就有两种不同的选择:一是第一次只跳1级,此时跳法数目等于后面剩下的n-1级台阶的跳法数目,即为f(n-1);另外一种选择是第一次跳2级,此时跳法数目等于后面剩下的n-2级台阶的跳法数目,即为f(n-2)。因...
分类:
其他好文 时间:
2015-03-18 12:31:06
阅读次数:
372
登录与注册的加密算法分析算法目的
提供固定的 秘钥 和 明文 能够产生不同的密文摘要
hamc 算法 大概流程是 使用一个秘钥 对明文进行两次散列操作得到密文摘要
哈希(散列)函数
MD5
SHA1
SHA256
注册
向服务器请求一个随机的秘钥
把注册的密码进行 md5.hmac(hamc使用md5的散列函数来操作字符)加密 : md5.hmac(key,message) ==> 密文摘要(k...
分类:
编程语言 时间:
2015-03-17 22:01:53
阅读次数:
192
FP_growth算法是韩家炜老师在2000年提出的关联分析算法,(FP代表频繁模式)一个典型的应用时输入一个单词或者单词的一部分,搜索引擎就会自动补全查询的词项,通过查看互联网上的用词找出经常在一块出现的词对,这就需要一种高效发现频繁集的方法。它比Aprior算法要快两个数量级以上,能够更高效的发...
分类:
编程语言 时间:
2015-03-16 12:50:19
阅读次数:
372
垃圾回收的过程主要包括两部分:找出已死去的对象、移除已死去的对象。
确定哪些对象存活有两种方式:引用计数算法、可达性分析算法。
方案一:引用计数算法
给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1;计数器的值为0时即表明对象已经死去(可被回收)。
优点:实现简单,判定效率高。
缺点:难解决对象之间互相引用的问题。
如:对象objA和...
分类:
编程语言 时间:
2015-03-14 23:15:26
阅读次数:
167
转载地址:http://www.cnblogs.com/ider/archive/2012/04/01/binary_search.html二分查找法的实现和应用汇总在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和...
分类:
其他好文 时间:
2015-03-11 19:35:43
阅读次数:
214
间间断断的将9种排序实现,并且将其以博客笔记的形式记录下来;现在就该来综合的分析这九种排序,让我们先来看看其算法复杂度和稳定性的分析结果:算法复杂度以及稳定性分析算法名称平均时间辅助空间稳定性冒泡排序O(n2)O(1)是选择排序O(n2)O(1)否插入排序O(n2)O(1)是自底向上归并排序O(nl...
分类:
编程语言 时间:
2015-03-04 10:59:59
阅读次数:
165
今天,Mayuyu来讲一个东西,叫做大O符号,即Big O Notation。大O符号是用来描述函数渐进行为的数学符号,更准确地说,它是用另一个函数来描述一个函数数量级的渐进上界。
在数学中,它一般用来刻画被截断的无穷级数,尤其是渐进级数的剩余项。
在计算机科学中,它在分析算法复杂性方面非常有用。
详细内容参考如下链接
链接:http://zh.wikipedia.org...
分类:
其他好文 时间:
2015-02-22 15:51:33
阅读次数:
108