上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 58 下一页
  2012年12月13日
摘要: 1、海量数据分布在100台电脑中,想个办法高校统计出这批数据的TOP10。方案1:s在每台电脑上求出TOP10,可以采用包含10个元素的堆完成(TOP10小,用最大堆,TOP10大,用最小堆)。比如求TOP10大,我们首先取前10个元素调整成最小堆,如果发现,然后扫描后面的数据,并与堆顶元素比较,如果比堆顶元素大,那么用该元素替换堆顶,然后再调整为最小堆。最后堆中的元素就是TOP10大。 2、 1000万字符串,其中有些是重复的,需要把重复的全部去掉,保留没有重复的字符串。请怎么设计和实现?方案1:这题用trie树比较合适,hash_map也应该能行。3、一个文本文件,找出前10个经常出现的词 阅读全文
posted @ 2012-12-13 21:07 猿人谷 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 1,如何删除一个搜索二叉树的结点解:情况一:根节点1>无孩子:则放回空2>有一个孩子,则放回其孩子3>有两个孩子,则返回其左孩子,将右孩子作为左子树的最右边的结点的右孩子;或者返回右子树,将左子树作为右子树的最左结点的左孩子。情况二:非根结点1>无孩子:直接删去2>一个孩子:则将孩子代替自己接入父节点。3>两个孩子:方法一:如果本身是左孩子,则将左子树接入父节点,将右子树作为左子树最右结点的右孩子。如果本身是右孩子,则将右子树接入父节点,将左子树作为右子树最左结点的左孩子。方法二:用直接前驱或者后继来代替自己,再删除直接前驱或者后继。直接前驱为左子树的最右结 阅读全文
posted @ 2012-12-13 21:05 猿人谷 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/huangxy10/article/details/8071242搜狗:1,有n*n个正方形格子,每个格子里有正数或者0,从最左上角往最右下角走,只能向下和向右走。一共走两次,把所有经过的格子的数加起来,求最大值。且两次如果经过同一个格子,则该格子的数只加一次。思路:搜索:一共搜(2n-2)步,每一步有四种走法。考虑不相交等条件可以剪去很多枝。复杂度为O(4^n)动态规划:by:绿色夹克衫详细算法思路:http://www.51nod.com/question/index.html#!questionId=657s[k][i][j] = max( 阅读全文
posted @ 2012-12-13 21:04 猿人谷 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/huangxy10/article/details/8066408 编程题、传教士人数M,野人C,M≥C,开始都在岸左边,①船只能载两人,传教士和野人都会划船,当然必须有人划船②两岸边保证野人人数不能大于传教士人数 把所有人都送过河,设计一方案,要求编程实现。思路:深度搜索。状态:左岸和右岸的人数+船的位置。每一个状态下,会有5种状态可以转移,即:1,运送2个传教士到对岸;2,运送2个野人到对岸;3,运送1个传教士到对岸;4,运送1个野人到对岸;5,运送1个传教士和一个野人到对岸。从初始状态开始搜,搜索这五种情况,进入下一状态,判断该状态是否满足 阅读全文
posted @ 2012-12-13 21:02 猿人谷 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 第一部分(必做):计算机基础类(所有的选择题都是多项选择)1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()A、e2, e4, e3, e1B、e2, e3, e4, e1C、e3, e2, e4, e1D、e1, e2, e4, e32、表达式X=A+B*(C-D)/E的后缀表示形式可以是()A、XAB+CDE/-*=B、XA+BC-DE/*=C、XABCD-*E/+=D、XABCDE+*/=3、以下排序算法是非稳定排序的是()A、冒泡排序 B、归并排序 C、快速排序 D、堆排序 E、希尔排序4、一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针 阅读全文
posted @ 2012-12-13 18:43 猿人谷 阅读(358) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/hackbuteer1/article/details/7581353#comments http://blog.csdn.net/huangxy10/article/details/8041706 阅读全文
posted @ 2012-12-13 18:42 猿人谷 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1、打印汉诺塔移动步骤,并且计算复杂度。方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱,然后再把n-1层移到目标柱。f(n) = 2f(n-1) + 1 , f(1) = 1f(n) + 1 = 2( f(n-1) + 1 )f(n) = 2^n - 1T(n) = O(2^n);2、计算两个字符串的是否相似(字符的种类,和出现次数相同) 先比较strlen,如果不相等,直接返回false 根据ASCII码建表 str[255],然后比较字符的出现次数,如有一个不同,返回false。 然后比较位置吧。有一个不同,就返回true。3、定义二叉树,节点值为int,计算二叉树中的值在[a, 阅读全文
posted @ 2012-12-13 18:40 猿人谷 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 10月份将是面试的高峰时期,所以在那之前要复习一下以前学到的东西。这里总结一下知识的大致结构,之后不断完善。1,数据结构(这部分最基础,也是最重要的) 基本数据结构: 链表,二叉树,字符串 中级数据结构:哈希表,图,树,栈 高级数据结构:线段树,字典树,交并集 评价:基本的数据结构在面试中经常考到,需要熟练掌握,其他的要了解概念,能写个大概的程序即可。2,算法(这也很重要) 排序:快速,合并,堆 计数排序,基数排序 基本算法: 穷举法(没意思),动态规划,贪心法,分治法 基本搜索:二分法,查找树 高级搜索:分支定界,回溯法,DFS,BFS,A*3,C/C+... 阅读全文
posted @ 2012-12-13 18:35 猿人谷 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 第一题,基础题:1. 数据库及线程产生死锁的原理和必要条件,如何避免死锁。2. 列举面向对象程序设计的三个要素和五项基本原则。解答:封装,继承,多态面向对象的五大基本原则单一职责原则(SRP)开放封闭原则(OCP)里氏替换原则(LSP)依赖倒置原则(DIP)接口隔离原则(ISP)单一职责原则(SRP)3.Windows内存管理的方式有哪些?各自的优缺点。第二题,算法与程序设计:1.公司举行羽毛球比赛,采用淘汰赛,有1001个人参加,要决出“羽毛球最高选手”,应如何组织这次比赛?可以使用伪代码。解答:堆排序或者竞标赛排序。2.有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2 阅读全文
posted @ 2012-12-13 18:33 猿人谷 阅读(249) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/huangxy10/article/category/1244308 阅读全文
posted @ 2012-12-13 18:31 猿人谷 阅读(160) 评论(0) 推荐(0) 编辑
上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 58 下一页