03 2012 档案
摘要:View Code 1 #include 2 #include 3 4 #define N 10/*0-1分成10份,也即是说10个桶*/ 5 6 /** AUTHOR: Mike Feng 7 * 桶排序:桶排序假设输入由一个随机过程产生,该过程将元素均匀...
阅读全文
摘要:Linux内核同步控制方法有很多,信号量、锁、原子量、RCU等等,不同的实现方法应用于不同的环境来提高操作系统效率。首先,看看我们最熟悉的两种机制——信号量、锁。 一、信号量 首先还是看看内核中是怎么实现的,内核中用struct semaphore数据结构表示信号量(中): View ...
阅读全文
摘要:基数排序思想很简单,直接上代码: View Code 1 #include 2 #include 3 #include 4 5 #define N 16 /*字符串个数*/ 6 #define M 3 /*每个字符串的字符个数*/ 7 /** AUTHOR: ...
阅读全文
摘要:计数排序用于处理元素全为整数或可以用整数形式表示的元素,我们直接看代码与注释: View Code 1 #include 2 #include 3 4 #define N 12 5 #define K 15 6 /** AUTHOR: Mike Feng 7 * 计数排序假...
阅读全文
摘要:基本知识: 堆的最基本的几种操作:建堆,时间复杂度为O(n),具体计算如下:假设有n=2^k个元素,从n/2元素开始, 以该点为根,使之成为一个堆; 然后再以n/2-1元素开始, 使之成为一个堆。。。,直到数组第1个元素,使之成为一个堆; 于是整个数组就成为一个堆了。杂度是2^(k-1) * 1 +...
阅读全文
摘要:快排的几种方式与思想可以用到很多地方,直接看代码: View Code 1 #include 2 #include 3 4 /** AUTHOR: Mike Feng 5 * 快排,时间复杂度为O(nlgn),几种方法的实验,注意细节。 6 * ...
阅读全文

浙公网安备 33010602011771号