数据结构 与算法 面试题
fmoonstar
1. 具有较强的责任感和集体荣誉感,能很快地融入团队。
2. 能够在充满挑战和不断变化的环境下获得很好的发展,能够充分利用技术来解决现实问题。
3. 乐观积极,抗压能力强,做事细致严谨。
熟悉Linux环境下C/C 高级编程,具有有较强程序分析,逻辑思维和调试能力。
熟练使用vim编辑器,gcc,gdb等调试工具,能编写Makefile。
熟悉Linux操作系统下的 TCP/IP、socket编程,多进程多线程编程。
熟悉基于QT的GUI程序开发以及QT程序设计。
熟悉Linux操作系统开发环境,能够搭建交叉编译环境以及ARM体系结构,了解简单的汇编指令。
展开
-
我思故我在——数据结构题(来自v_JULY_v,作者July)
人是棵会思考的芦苇,除了接受知识,我们要有时间,空间来自我思考!!!《〈〈〈〈内容不断充实中〉〉〉〉》1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建原创 2011-08-26 10:54:55 · 1763 阅读 · 1 评论 -
我思故我在系列—数据结构NO.26题(题目搜集整理者JULY,非常感谢!!)
如果没有埋葬昨日的失败的勇气,那就感受不到机遇的真实;如果过去的错误总是阴魂不散,过去的愧疚魂牵梦绕,过去的悲剧记忆犹新,那你怎么能看到机遇?——摘自 奥格.曼狄诺《羊皮卷之八:如何发挥自己的能力去把握机会》26.左旋转字符串题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef 左旋转2 位得到字符串cdefab。请实现字原创 2011-10-29 15:59:18 · 957 阅读 · 1 评论 -
我思故我在系列—数据结构面试NO.27题(题目搜集整理者JULY,非常感谢!!)
27.跳台阶问题题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。求总共有多少总跳法,并分析算法的时间复杂度。由题分析得出这是FIibonaqi的变形,有关递归与递推的区别,查看数据结构面试NO.19题#include#includeusing namespace std;int Recurrence(int num){ ass原创 2011-10-30 17:15:48 · 1100 阅读 · 0 评论 -
我思故我在系列—数据结构NO.28题(题目搜集整理者JULY,非常感谢!!)
28.整数的二进制表示中1 的个数题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 /*1.。尽可能用位运算代替除法运算,提高算法效率;2。注意有符号移位(带符号位移动)与无符号数移位的区别;3。计算机中负数以补码的形式存放(正数的反码+1);*/#include #include原创 2011-10-31 15:02:45 · 1043 阅读 · 1 评论 -
我思故我在系列—数据结构面试NO.35题(题目搜集整理者JULY,非常感谢!!)
35.求一个矩阵中最大的二维矩阵(元素和最大).如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;(3)用C 写出关键代码 #include#include//function1:最易懂的方法,每a[i][j],a[i][j+1],a[i+1][j],a[i+1][j+1]计原创 2011-11-07 21:31:56 · 1381 阅读 · 0 评论 -
我思故我在系列—数据结构题NO.36(题目搜集整理者july,非常感谢!!)
——技术不是程序员的全部,怀有学无止境的心态是克服一切迷茫不安情绪的良方36.谷歌笔试:n 支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强的一支。所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5原创 2011-11-23 22:20:32 · 2314 阅读 · 0 评论 -
我思故我在系列—数据结构面试NO.29题(题目搜集整理者JULY,非常感谢!!)
29.栈的push、pop 序列题目:输入两个整数序列。其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序。#include #include #include using namespace std;bool TestPopOrder(const int* pPush, const int* pPop, int nLeng原创 2011-11-01 14:49:29 · 810 阅读 · 0 评论 -
我思故我在系列—数据结构面试NO.30题(题目搜集整理者JULY,非常感谢!!)
30.在从1 到n的正数中1 出现的次数题目:输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数。从1到n进行for()循环,将每个整数中出现的1的次数求总和;#include#includeint everycount(int num){ int count=0; while(num!=0)原创 2011-11-04 15:27:02 · 998 阅读 · 2 评论 -
我思故我在系列—数据结构NO.31,NO.32(题目搜集整理者JULY,非常感谢!!)
31.华为面试题:一类似于蜂窝的结构的图,进行搜索最短路径(要求5 分钟)32.有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b 中的元素,使[序列a 元素的和]与[序列b 元素的和]之间的差最小。例如:var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40]; #include原创 2011-11-05 21:09:25 · 1389 阅读 · 1 评论 -
我思故我在系列—数据结构NO.33,NO.34(题目搜集整理者JULY,非常感谢!!)
33.实现一个挺高级的字符匹配算法:给一串很长字符串,要求找到符合要求的字符串,例如目的串:1231******3***2 ,12*****3 这些都要找出来34.实现一个队列。队列的应用场景为:一个生产者线程将int 类型的数入列,一个消费者线程将int 类型的数出列生产者消费者线程演示一个生产者线程将int 类型的数入列,一个消费者线程将int 类型的数出列原创 2011-11-06 11:29:44 · 1279 阅读 · 0 评论 -
我思故我在系列—数据结构NO.25题(题目搜集整理者JULY,非常感谢!!)
第25题:写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr 所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,output原创 2011-10-28 22:10:13 · 949 阅读 · 1 评论 -
我思故我在系列—数据结构面试NO.22,NO.23题(题目搜集整理者JULY,非常感谢!!)
第22题:有4 张红色的牌和4 张蓝色的牌,主持人先拿任意两张,再分别在A、B、C 三人额头上贴任意两张牌,A、B、C 三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A 说不知道,B 说不知道,C 说不知道,然后A 说知道了。请教如何推理,A 是怎么知道的。如果用程序,又怎么实现呢?第23题:用最简单, 最快速的方法计算出原创 2011-10-27 19:26:18 · 629 阅读 · 0 评论 -
我思故我在系列——数据结构题(来自V_JULY_V,整理者july)
题目2:设计包含min 函数的栈。定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。#includeusing namespace std;#define Maxsize原创 2011-09-10 21:51:53 · 1183 阅读 · 0 评论 -
我思故我在系列——数据结构题(题目来自july,整理者July,非常感谢!!)
3.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。#includeusing namespace std;int m原创 2011-09-23 20:18:18 · 752 阅读 · 0 评论 -
我思故我在系列—数据结构题(题目搜集整理者july,非常感谢!)
成功需要不懈的追求,不能有丝毫放松。胜利如果不能成为取得更大成就的工具,那对我们来说就是毫无意 义的凯旋,反而有害无益。 ——摘自奥格.曼狄诺《羊皮卷》5.原创 2011-10-09 17:34:12 · 893 阅读 · 0 评论 -
我思故我在系列—数据结构面试题NO.17(题目搜集整理者JULY,非常感谢!!)
经常在实际中摸爬滚打的成熟人士都很清楚, 那就是成功不会那么容易,失败是不可避免的。 因此他们决不会耗神费力让偶尔的失败腐蚀自己的坚毅,而是会用更多的力量去争取成功!! ——摘自 奥格.曼狄诺《羊皮卷》第17题:题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccd原创 2011-10-21 16:14:42 · 765 阅读 · 0 评论 -
我思故我在系列——数据结构NO.16题(题目搜集整理者JULY,非常感谢!!)
从“我不行”的枷锁中挣脱出来吧,你就能达到期望的高度。 ——摘自 奥格.曼狄诺《羊皮卷》第16题题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入8/ \6 10/\ /\5 7 9 1133输出8 6 10 5 7 9 11原创 2011-10-19 17:23:44 · 972 阅读 · 1 评论 -
我思故我在系列—数据结构面试题NO.19(题目搜集整理者JULY!!)
题目:定义Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1,2\ f(n-1)+f(n-2) n>2输入n,用最快的方法求该数列的第n 项。#include using namespace std;/*方法1:递归 * 递归法的优点是:简洁容易理解,缺点是时间复杂度太大,随着n越来越大,耗时也越来越多*/int Fibona原创 2011-10-24 14:57:38 · 1157 阅读 · 1 评论 -
我思故我在系列—数据结构面试题NO.18(题目搜集整理者JVLY,非常感谢!!)
那些知道自己去哪儿,知道自己该干什么的人总能很好地利用环境,在前进路上不论遇到什么,他们都能灵活周转,向着目标更进一步。他们明白自己想干什么,也愿意作出努力。 ——摘自 奥格.曼狄诺《羊皮卷》第18 题:题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈原创 2011-10-22 15:12:16 · 5857 阅读 · 0 评论 -
我思故我在系列—数据结构NO.21题(题目搜集整理者JULY,非常感谢!!)
第21 题2010 年中兴面试题编程求解:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.1.需要列出多于两个数要考虑用容器作为辅助栈2.主要思想,递归 每次压入新的数据后,新的sum-n值与n-1比较,若sum>n,继续压入, 否则,输出当前sum和容器中所有元素,再清原创 2011-10-26 09:49:38 · 974 阅读 · 1 评论 -
我思故我在系列—数据结构面试NO.24(题目搜集整理者JULY,非常感谢!!)
第24题:1.反转链表2.合并链表。#include#include#includetypedef struct SListNode{ int data; struct SListNode *next;}Lnode,*Slinklist;Slinklist Createlink(){ int input;原创 2011-10-28 22:06:05 · 710 阅读 · 0 评论 -
我思故我在系列—数据结构面试NO.20题将一串字符串转为整数(题目搜集整理者JVLY,非常感谢!!)
第20题:题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 本题看似简单,但是要考虑到容错的各种情况:1, ptr是空指针吗?2. 输入字符串前有正负标志位时怎么办?3. 当输入非数字的字符时,我们不考虑转换问题4. 考虑溢出问题:模板类根据不同的需要,int包括以下定义:unsigned shor原创 2011-10-24 20:47:34 · 4321 阅读 · 0 评论