2010年4月19日

摘要: 散列表是普通数组的推广。设计散列表主要是对哈希函数和处理冲突碰撞的选择和设计,好的哈希函数h可以使关键字比较均匀的散列在哈希表中,冲突较少。所谓“好”的哈希函数的主导思想,是使h尽可能地随机,减少碰撞,但是不可能完全避免碰撞,因为关键字域的势 |U|>m,m为散列表的槽数,总会有两个不同的关键字映射到同一个槽中,产生碰撞。1、哈希函数一个好的哈希函数应(近似地)满足简... 阅读全文
posted @ 2010-04-19 20:50 janqii 阅读(733) 评论(1) 推荐(0)

2010年4月18日

摘要: 计划之 4-18 to 4-25 ---------------------------------------------------------------------------------------------------------------------------- linux kernel 结束第一遍 练习使用matlab 算法导论 至少读2章 expert 至少看完第五章 对... 阅读全文
posted @ 2010-04-18 00:16 janqii 阅读(138) 评论(0) 推荐(0)

2010年4月14日

摘要: 写了一个快排算法然后进行了一些修改,随机的选择中轴元素,随机化处理了一下。对两个算法进行比较,随机产生553k的数据进行排序,分别统计花费的时间。一开始在windows下,直接 cl 进行编译链接,可执行文件112k,输出分别是 31ms和110ms。后来偶然使用VC6编译,运行,可执行文件544k,大了432k,输出为94ms和171ms,分别慢了3倍和60+ms。VS到底做了什么使得效率低了下... 阅读全文
posted @ 2010-04-14 20:54 janqii 阅读(237) 评论(0) 推荐(0)

2010年4月13日

摘要: linux内核中求偏移量的宏定义如下 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) ------------------------------宏测试小程序--------------------------------------------------------------------- #incl... 阅读全文
posted @ 2010-04-13 23:54 janqii 阅读(431) 评论(0) 推荐(0)
摘要: linux内核中链表的实现是相当的出色的,《linux内核设计与实现》(附录A)中说“linux内核使用了一种独一无二的方法遍历链表”、“为了这种巧妙设计,内核骇客们还是颇有点自豪的”。 ----------------------------------------------------------------------------------... 阅读全文
posted @ 2010-04-13 21:09 janqii 阅读(801) 评论(1) 推荐(1)
摘要: 看linux内核链表实现的时候看到typeof关键字,在网上找到一些材料。 摘自http://blog.chinaunix.net/u3/101356/showart_2081601.html typeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别: ·声明 ·函数声明符中的参数类型链表和返回类... 阅读全文
posted @ 2010-04-13 19:08 janqii 阅读(4825) 评论(0) 推荐(0)

2010年4月11日

摘要: C++ Primer 7.9节 ----------------------------------------------------------------------------------------------------------------------------------- 函数可以返回指向函数的指针,但是,正确写出这种返回类型相当不容易: // ff is a functio... 阅读全文
posted @ 2010-04-11 22:28 janqii 阅读(501) 评论(0) 推荐(0)
摘要: 堆排序的时间复杂度和合并排序时间复杂度一样是O(n*lgn)。 堆排序可以原地排序,这一点上优于合并排序(需要一个辅助数组);插入排序也是原地排序,可是时间复杂度是O(n^2) 1、保持堆(大顶堆)的性质的算法(A是输入堆,从i开始保持大顶堆的性质): max_heapify(A,i) l=LEFT(i) r=RIGHT(i) if(l<=heap_size(A)&&A... 阅读全文
posted @ 2010-04-11 16:15 janqii 阅读(186) 评论(0) 推荐(0)

2010年4月10日

摘要: C++ Primer中建议delete一个指针之后,执行ptr=NULL,来让指针指向0,以后再使用ptr,系统就会报错。 --------------------------------------C++ Primer---------------------------------------------------------------- 执行语句 delete p; 后,p变成没有定义。... 阅读全文
posted @ 2010-04-10 22:15 janqii 阅读(546) 评论(0) 推荐(0)

2010年4月8日

摘要: 国王招来100个囚犯,对他们说:你们犯的是死罪,本应该将你们统统杀掉,但我慈悲为怀,给你们一次求生的机会。15分钟以后,你们将被关进一个有100间隔离牢房的监狱里,每人一间牢房,都与外界隔绝,什么也听不见、看不到,连时间都没法计算,更别说获得外界的任何信息。(送饭除外,但也是不规律的送) 这所监狱有一个院子,每天会随机(注意是完全随机)打开一间牢房的门,让那个囚犯到院子里来放风。院子里有一盏路... 阅读全文
posted @ 2010-04-08 22:36 janqii 阅读(293) 评论(0) 推荐(0)

导航