- 博客(11)
- 资源 (12)
- 收藏
- 关注
转载 判断链表是否带环
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fas
2012-09-26 00:41:44 4079 2
转载 2013年 腾讯笔试题:fork()
下面的程序一共输出多少个“-”?()#include #include #include int main(void){ inti; for(i=0; i<2; i++){ fork(); printf("-"); } return 0;}A.2 B.4 C.6 D.8#include #include
2012-09-23 16:16:53 2424
原创 有关C语言运算符优先级和结合律的思考
(1) b=*p++; (2)b=(*p)++; (3)b=++*p; (4)b=++(*p); (5)b=*++p; (6)b=*(++p);上面6式子,哪些是等价的?反汇编代码:b=*p++;00411BD9 mov eax,dword ptr [p] 00411BDC mov ecx,dwo
2012-09-21 15:45:41 1533
原创 最小的K个数
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。输入:每个测试案例包括2行:第一行为2个整数n,k(1第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。输出:对应每个测试案例,输出最小的k个数,并按从小到大顺序打印。分析:用排序的话排序复杂O(nlogn
2012-09-20 18:36:01 1875 1
原创 输入一棵二叉树,求该树的深度
题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。输入:第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n 接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。输出:输出一
2012-09-14 18:57:25 2651
原创 重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。重建二叉树算法:bool ReBuildBiTree(BiNode **root, int *preorder, in
2012-09-13 21:34:10 1571
原创 题目: 一个骰子,6面,1个面是 1, 2个面是2, 3个面是3, 问平均掷多少次能使1、2、3都至少出现一次。
题目:一个骰子,6面,1个面是 1, 2个面是2, 3个面是3,问平均掷多少次能使1、2、3都至少出现一次。解:(没学过《组合数学》的请略过)设P(N=n)表示第n次(n>2)抛出后1,2,3都出现的概率,问题要求n的期望E(N=n).掷1的概率p=1/6,掷2的概率q=1/3,掷3的概率r=1/2.写程序求解#include using names
2012-09-13 13:05:43 18072 3
原创 统计一个数字在排序数组中出现的次数
题目描述:统计一个数字在排序数组中出现的次数。输入:每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1下面有m行,每行有一个整数k,表示要查询的数。输出:对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。样例输
2012-09-12 19:24:04 3502
原创 生成所有排列
void swap(char *a, char *b){ char t = *a; *a = *b; *b = t;}void permutation(char *c, int l, int r)//[l,r){ if (l == r) { cout<<c<<endl; return; } for (int i = l; i
2012-09-03 20:13:50 697
原创 海豚算法循环左移
int gcd(int a, int b) { if (a == 0) { return b; } return gcd(b%a, a); } void ROL(int *a, int n, int k) { if (k == 0 || n == 0) { return; } k %= n; int
2012-09-03 20:10:19 1701
原创 uva 120
BackgroundStacks and Queues are often considered the bread and butter of data structures and find use in architecture, parsing, operating systems, and discrete event simulation. Stacks are also impo
2012-09-03 10:19:22 1471
2007年emc笔试题目
2012-11-04
接口与通讯课程设计代码
2008-12-26
操作系统课程设计实习报告
2008-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人