- 博客(14)
- 资源 (10)
- 收藏
- 关注
原创 初步了解Hadoop平台
前天阿里电面问到对hadoop平台的了解,虽然以前接触过一段时间,但几乎都忘了,所以悲剧了。今天重新来复习下基础知识吧,毕竟现在不懂点hadoop说不过去。什么是Hadoop?--------------------------------------------hadoop一个用于在普通硬件构成 的大集群上运行应用程序的框架。Hadoop框架透明地为应用程序提供可靠性
2014-03-31 20:42:38 2240
原创 java集合类TreeMap和TreeSet
看这篇博客前,我觉得很有必要先看下我之前的几篇博客Red-Black Trees(红黑树) (TreeMap底层的实现就是用的红黑树数据结构)探索equals()和hashCode()方法 (TreeMap/TreeSet实现使用到的核心方法)
2014-03-31 15:29:24 30991 3
原创 《程序员面试题精选》05.输出一个字符串的所有子串
题目:给定一个字符串,输出其所有子字符串,例如给定字符串abc,则输出 :a,b,c,d,ab,bc,cd,abc,bcd,abcd。分析:今天看到csdn博客上面的一题,说是阿里巴巴电面的题目。初看到这道题的时候,就感觉很熟悉,在高中的时候,经常要算这种组合有多少个,当时我们计算的方法顺序是这样的:3+2+1 即a,b,c,d,ab,bc,cd,abc,bcd,a
2014-03-31 12:48:37 1083
原创 java中的HashTable,HashMap和HashSet
上篇博客中我们详细的分析了java集合《java中Map,List与Set的区别》。同时我们也对HashSet和HashMap的核心方法hashcode进行了详解,见《探索equals()和hashCode()方法》。万事俱备,那么下面我们就对基于hash算法的三个集合HashTable,HashSet和HashMap详解。本文目录:1. HashTable和Has
2014-03-30 21:16:27 22363 6
原创 探索equals()和hashCode()方法
如果你现在还对hashcode了解甚少的话,建议你先看看下面两篇博客,绝对有用,面试中经常问这些。《java中Map,List与Set的区别》《05.Hash Tables(哈希表)》equals()和hashCode()区别?-------------------------------------------------equals():反映
2014-03-30 03:30:07 7872 1
原创 java中Map,List与Set的区别
Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存
2014-03-28 15:51:58 250054 51
原创 《Thinking In Algorithm》10.树的三种遍历(递归与非递归实现)
1:深度优先1.1:前序遍历Visit the root.Traverse the left subtree.Traverse the right subtree.如下图:Pre-order: F, B, A, D, C, E, G, I, H伪代码:preorder(node) if node == null then
2014-03-21 21:54:30 4419 1
原创 《Thinking In Algorithm》09.彻底理解递归
递归真的非常非常重要!!!我们直接从例子开始吧!一:简单实例1.阶乘的实现写个函数实现 N! = N × (N-1) × (N-2) × ... × 2 × 1public static int factorial(int N) { if (N == 1) return 1; return N * factorial(N-1); }上面的程序虽然简
2014-03-20 23:20:04 14605 6
原创 java中的static和final
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改
2014-03-20 00:02:00 5883 856
原创 《程序员面试题精选》04.二元树中和为某一值的所有路径
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树 10 / \
2014-03-19 00:16:18 919
原创 《程序员面试题精选》03.子数组的最大和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。分析:首先我们会简单的想到把所有子组数都求出来,但是一个含n个数的数组有
2014-03-08 15:17:12 549
原创 《程序员面试题精选》02.Stack and minimum element in O(1)
题目: 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:首先栈的push和pop时间复杂度都是O(1)的,但是对于min函数在没有排序的队列里一般时间复杂度是O(n).首先我想的是当我们push元素时我们定于一个临时的参数x,表示当前最小数,每次push元素时都进行比较更新,这样好像也能成功,但是当我们记录的元素
2014-03-07 21:52:34 611
原创 《程序员面试题精选》01.二元查找树转变成排序的双向链表
大三下学期了,也到了找暑假实习工作的时间了,所以最近准备刷一些面试题,首先我是从July的《微软面试100题系列》开始刷起,刷完这个之后,我会再找一些题继续练习。这些题我都是用java解的。1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。比如将二元查找树
2014-03-07 16:11:17 733
原创 函数指针和指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,
2014-03-05 20:48:46 1575
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人