2012年10月6日

摘要: 笔试题目见http://blog.csdn.net/hackbuteer1/article/details/8016173面试题目:(1) 给定m个数组,每个数组有n个元素,分别有序,要将其归并成一个有序的大数组,并计算时间复杂度。多路归并 T(m)=2*T(m/2)+O(m*n) => T(m)=mnlog(m)代码如下View Code 1 const int MaxM=100; 2 const int MaxN=100; 3 int temp1[(MaxM+1)*(MaxN+1)]; 4 int temp2[(MaxM+1)*(MaxN+1)]; 5 const int INFI= 阅读全文
posted @ 2012-10-06 23:00 深山中一小妖 阅读(436) 评论(0) 推荐(0) 编辑

2012年10月3日

摘要: 1 lucky number。给定一个长度为m的数组,其中有m-1个数每个出现n次,只有一个数出现次数不为n次,找出该数字http://ac.jobdu.com/problem.php?pid=1380(1) 建立一个辅助数组hash[32],初始化为0;(2) 每次从控制台读入一个数,转化成二进制表示,第j位累加到hash[j]中;(3) 对hash数组中每个元素模n,若为0,则表示要求的数中对应位为0,反之为1。View Code 1 int func(int n,int m) 2 { 3 const int MaxBit = 32; 4 int hash[MaxBit]... 阅读全文
posted @ 2012-10-03 18:05 深山中一小妖 阅读(332) 评论(0) 推荐(0) 编辑

2012年9月21日

摘要: http://www.cnblogs.com/flyingbread/archive/2007/02/03/638932.html分析用堆栈解析算术表达式的基本方法。给出的示例代码能解析任何包括+,-,*,/,()和0到9数字组成的算术表达式。中缀表达式就是通常所说的算术表达式,比如(1+2)*3-4。后缀表达式是指通过解析后,运算符在运算数之后的表达式,比如上式解析成后缀表达式就是12+3*4-。这种表达式可以直接利用栈来求解。中缀表达式翻译成后缀表达式的方法如下:(1)从左向右依次取得数据ch。(2)如果ch是操作数,直接输出。(3)如果ch是运算符(含左右括号),则: a:如果ch = 阅读全文
posted @ 2012-09-21 19:00 深山中一小妖 阅读(185) 评论(0) 推荐(0) 编辑

2012年9月20日

摘要: 一个较完整的二叉查找树,实现如下功能(1) 插入一个节点(2) 删除一个节点(3) 删除整棵树(4) 查找一个节点(5) 前序遍历,递归和非递归(6) 中序遍历,递归和非递归(7) 后序遍历,递归和非递归(8) 查找最大的节点(9) 查找最小的节点(10) 查找某个节点的前驱(11) 查找某个节点的后继(12) 打印某一层内的节点(13) 分层遍历二叉树,每一层内的节点占一行 1 struct BstNode 2 { 3 int data; 4 bool isVisisted; 5 BstNode * left, * right; 6 BstNode... 阅读全文
posted @ 2012-09-20 21:00 深山中一小妖 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 同步,异步,阻塞,非阻塞同步: '你'亲自办这件事异步: 交代要做的事情,然后忙其他的事情;'别人'(内核)会充当你的跑腿,在条件就绪后将这事办成,然后通知你(callback);阻塞: 如果条件未就绪,'你'必须死等它就绪;进程睡眠非阻塞:如果条件未就绪,'你'可以转身作别的事情;进程可以作任何想做的事情,不过通常是低效的轮询。以这种理解方式,阻塞/非阻塞只对同步操作有意义;异步I/O总是意味着进程不会因为I/O陷入睡眠。将" select"归类为异步+blocking不妥,select实际上完成的只是rea 阅读全文
posted @ 2012-09-20 15:07 深山中一小妖 阅读(218) 评论(0) 推荐(0) 编辑

2012年9月19日

摘要: 1 系统调用与过程(函数)调用的区别程序中执行系统调用或过程(函数)调用,虽然都是对某种功能或服务的需求,但两者从调用形式到具体实现都有很大区别。(1) 调用形式不同。过程(函数)使用一般调用指令,其转向地址是固定不变的,包含在跳转语句中;但系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用。(2) 被调用代码的位置不同。过程(函数)调用是一种静态调用,调用者和被调用代码在同一程序内,经过连接编辑后作为目标代码的一部份。当过程(函数)升级或修改时,必须重新编译连结。而系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),这样一来,系统调用处理代码升级或修改时,与调 阅读全文
posted @ 2012-09-19 11:08 深山中一小妖 阅读(698) 评论(0) 推荐(0) 编辑

2012年9月10日

摘要: 链表笔试面试题 阅读全文
posted @ 2012-09-10 14:26 深山中一小妖 阅读(279) 评论(0) 推荐(0) 编辑

2012年9月8日

摘要: 1. C语言结构体数据对齐转自:http://blog.csdn.net/tiany524/article/details/62955511.1 结构体数据对齐(没有#pragma pack()宏定义) 结构体对齐可以总结为三个基本原则①数据成员对齐规则:结构体的数据成员中,第一个成员从offset为0的地址开始,以后每一个成员存储的起始位置为该成员大小的整数倍(在win32中int为32bit也即4字节对齐)②结构体作为成员:如果一个结构体1作为另一个结构体2的数据成员,则在结构体2中结构体1要从1内部成员最大的整数倍地址开始存储。③结构体的总大小(sizeof):为该结构体内部最大基本类型 阅读全文
posted @ 2012-09-08 23:02 深山中一小妖 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 一道华为机试题-销售点撤销方案数 阅读全文
posted @ 2012-09-08 16:43 深山中一小妖 阅读(946) 评论(0) 推荐(0) 编辑

2012年9月6日

摘要: 2012.9华为校招机试 阅读全文
posted @ 2012-09-06 17:12 深山中一小妖 阅读(167) 评论(0) 推荐(0) 编辑

导航