erlang有两种复合结构,tuple和list,两者的区别是tuple子元素的个数是固定不变的,声明后就不能改变了;而list是可变的,可以通过[H|T]来取出或插入新元素。record有点像C/C++里面的结构体,实际上是语法糖,方便我们的开发,代码汇编时转成tuple表达形式。文章将分别以例子及汇编代码说明erlang tuple和record结构...
分类:
其他好文 时间:
2014-06-18 12:12:33
阅读次数:
213
USB设备插入时,内核会读取设备信息,接着就把id_table里的信息与读取到的信息做比较,看是否匹配,如果匹配,就调用probe函数。USB设备拔出时会调用disconnect函数。URB在USB设备驱动程序中用来描述与USB设备通信时用到的基本载体和核心数据结构。...
分类:
系统相关 时间:
2014-06-18 11:51:03
阅读次数:
443
线性探针是另外一种解决哈希冲突的办法。这种办法的基本思想就是当遇到哈希冲突时,寻找下一个空位,直到找到空位为止。
示例
先插入一个值S,如下图。
插入其他的一些值,这些值的哈系没有冲突,得到下图的结果。
再插入一个值H,由于H与A的哈系冲突,因此需要寻找一个空的位置。
找到了空位
...
分类:
其他好文 时间:
2014-06-18 11:31:28
阅读次数:
200
ASP.NET MVC 过滤器(三)
前言
本篇讲解行为过滤器的执行过程,过滤器实现、使用方式有AOP的意思,可以通过学习了解过滤器在框架中的执行过程从而获得一些AOP方面的知识(在顺序执行的过程中,这种编程模式就是横向的插入点),言归正传,我们还是以学习过滤器为主。对于IAuthorizationFilter授权认证过滤器的使用篇幅,我知道怎么用但是写不出来,里面包含知识点很多,功底尚浅写了...
分类:
Web程序 时间:
2014-06-18 11:29:37
阅读次数:
241
基数排序算法,其原理是将整数按位数切割为不同的数组,然后按每个位数分别进行比较。
基数排序的方法既可以采用LSD(Least significant digital),从键值的最右边开始,也可以采用MSD(Most significant digital),从键值的最左边开始。
基数排序法的效率主要取决于排序不同位的数字时所采用的稳定的中间排序算法。
常用的稳定的排序算法包括:插入排序、合并排序、冒泡排序、折半插入排序、基数排序等。
基数排序算法相比于其他算法...
分类:
其他好文 时间:
2014-06-17 22:55:55
阅读次数:
414
战争故事
很久很久以前,曾经发生过很多关于哈希函数的战争故事。那些战争的基本原理就是通过精心构造造成大量的哈希冲突从而占用大量的CPU资源。
被攻击的软件例有以下例子:
带有漏洞的服务器:攻击者精心构造哈系冲突,只需要56K的网速就能让服务器死机,从而达到DOS攻击的目的。
Perl 5.8.0:攻击者精心构造哈系冲突插入到关...
分类:
其他好文 时间:
2014-06-17 21:48:18
阅读次数:
206
2014.06.17 01:37简介: 插入排序是最常用的O(n^2)级别的交换排序算法。之所以最常用,是因为它和选择排序、冒泡排序相比,有着自己的优势。描述: 如果数组的前i - 1个元素已经排好序,你要将第i个元素插入到其中,使得前i个元素变得有序。为了找到应该插入的位置,我们从后向前扫描,.....
分类:
编程语言 时间:
2014-06-17 21:30:02
阅读次数:
254
ASP.NET MVC 过滤器(三)前言本篇讲解行为过滤器的执行过程,过滤器实现、使用方式有AOP的意思,可以通过学习了解过滤器在框架中的执行过程从而获得一些AOP方面的知识(在顺序执行的过程中,这种编程模式就是横向的插入点),言归正传,我们还是以学习过滤器为主。对于IAuthorizationFi...
分类:
Web程序 时间:
2014-06-17 21:12:18
阅读次数:
297
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0;for(i=1;i=1;i--) siftd...
分类:
其他好文 时间:
2014-06-17 20:36:51
阅读次数:
298
二叉树的插入与删除,来自Mark Allen Weiss的《数据结构与算法分析》。# Definition for a binary tree nodeclass TreeNode: def __init__(self, x): self.val = x self...
分类:
编程语言 时间:
2014-06-17 14:25:01
阅读次数:
291