- 博客(7)
- 资源 (8)
- 收藏
- 关注
原创 堆排序算法
<br />对排序可分为两个部分:1.将待排序的数据调整成最大堆或者最小堆 需要比较n-1趟(假设有n个数据)耗时O(n)<br /> 2.从最大堆中选择最大或最小的元素只需比较二叉树深度logn的次数 <br /> 因此该算法的时间复杂度为O(N*log n)<br /> <br /> <br />第一部分也即为调整树的过程,参考代码如下:<br />//R[]为带调整的数组,s为要调整元素的开始下标,m为结束元素下标 <br />v
2011-01-31 19:33:00 703
转载 Android中G-Sensor相关流程
<br />Android中G-Sensor相关流程 <br />1.使G-sensor正常工作需要做的事:<br />G-sensor driver文件包括:<br />driver/i2c/chips/lis331dl.c<br />driver/i2c/chips/sensorioctl.h<br />include/linux/lis331dl.h<br />并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_dev
2011-01-23 22:50:00 1454
原创 使用hash算法统计字符串中字符出现的频率
<br />字符匹配面试题,两个字符串如果字符和长度都相等,则称这两个字符串匹配,如abcd和dcab。用函数实现,<br />对这样的问题我们可以考虑使用hash算法来实现,使用两个256个单元的hash数组,根据字符的ASCII作为hash数组的下标, 每个数组单元中记录字符出现的次数<br />#include<stdio.h><br />#include<stdlib.h><br />#include<assert.h><br />#include<string.h><br /> bool
2011-01-11 13:29:00 1761
原创 面试题
<br />. 时针分针重合几次表面上有60个小格,每小格代表一分钟,时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以 60/(1-1/12)=720/11 每隔720/11分才重合一次(而并不是每小时重合一次) 1440里有22个720/11,如果说算上0点和24点,那也是重合23次而已,但我觉得0点应该算到前一天的24点头上,所以每一天循环下来重合22次啊 2. 找出字符串的最长不重复子串,输出长度建一个256个单元的数组,每一个单元代表一个字符,
2011-01-11 11:05:00 710
转载 字典树
字典树:字典树的基本功能是用来查询某个单词(前缀)在所有单词中出现次数的一种数据结构,它的插入和查询复杂度都为O(len),Len为单词(前缀)长度,但是它的空间复杂度却非常高,如果字符集是26个字母,那每个节点的度就有26个,典型的以空间换时间结构字典树模板代码: #define MAX 26 //字符集大小typedef struct TrieNode{ int nCount; //记录该字符出现次数 struct TrieNode *next[MAX];}TrieNode;Trie
2011-01-10 13:43:00 660
原创 Hash算法
ELFhash函数在UNIX系统V 版本4中的“可执行链接格式”( Executable and Linking Format,即ELF )中会用到,ELF文件格式用于存储可执行文件与目标文件。ELFhash函数是对字符串的散列。它对于长字符串和短字符串都很有效,字符串中每个字符都有同样的作用,它巧妙地对字符的ASCII编码值进行计算,ELFhash函数对于能够比较均匀地把字符串分布在散列表中。这些函数使用位运算使得每一个字符都对最后的函数值产生影响下面是腾讯的一个面试题:在一个cache系统中,需要实现一
2011-01-09 23:32:00 1051
原创 linux驱动模型(上)
声明:本文为作者原创,欢迎转载,但请保留作者姓名和出处,由于本人水平有限,如有错误欢迎指正 957626485@qq.com -----Christain
2011-01-08 15:54:00 744
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人