2014年4月4日

[原]操作系统中堆和栈的区别

摘要: 我们都知道数据结构中也有堆栈的概念,但他们与操作系统中的不同。 栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。堆则是存放在二级... 阅读全文

posted @ 2014-04-04 17:37 狼牙灬月 阅读(615) 评论(0) 推荐(0) 编辑

[原]Java/C++中数组的区别

摘要: 1. 数组名区别 -------------------------------------- 1. java中不用说,本着一切皆对象的原则,所以java中的数组也是对象.那么数组类是哪个,当然不是java.util.Arrays.详见Java数组方法的思考 2. 而在c++中数组名其实是一种数据结构,有人会说不是指针吗,关于这一点见(C++中数组名其实是一种数据结构)... 阅读全文

posted @ 2014-04-04 16:11 狼牙灬月 阅读(195) 评论(0) 推荐(0) 编辑

[原]数据结构与对象的区别

摘要: 《Clean Code》的总结: 总的说来数据结构指的就是数据的载体,暴露数据,而几乎没有有意义的行为,你应该在尖叫这不是贫血类?的确这和我们的贫血类很相似。最常见的应用在分布式服务,以wcf,webservice,reset之类的分布式服务中不可或缺的数据传输对象(DTO)模式,DTO(Request/Response)就是一个很典型的数据载体,只存在简单的get... 阅读全文

posted @ 2014-04-04 12:47 狼牙灬月 阅读(610) 评论(1) 推荐(0) 编辑

[原]《面试题精选》08.颠倒句子中单词的顺序

摘要: 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 分析:此题思路应该很清晰,算法上没什么,但是对String字符串的处理时面试中常见问题。遇到颠倒顺序的我们很容易就想到使用数据结构栈,首先我们... 阅读全文

posted @ 2014-04-04 09:55 狼牙灬月 阅读(191) 评论(0) 推荐(0) 编辑

2014年4月3日

[原]《程序员面试题精选》07.后序遍历结果判断其是否为二叉查找树

摘要: 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 / \ / \ 5 7 9 11 因此返回true。 如果输入7、4、... 阅读全文

posted @ 2014-04-03 21:54 狼牙灬月 阅读(182) 评论(0) 推荐(0) 编辑

[原]《程序员面试题精选》06.查找最小的k个元素

摘要: 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。 分析:首先我们会简单想到将所有元素都排序,然后取出最小的几个,但是当数据量大的时候呢,这种方法显然不行。那么我们就把范围缩小,我们的目的就是那最小的k个数,那么我们就用一个单独的容器来存储这k个数,然后当插入下一个数之前先判断一下插... 阅读全文

posted @ 2014-04-03 18:58 狼牙灬月 阅读(174) 评论(0) 推荐(0) 编辑

2014年3月31日

[原]初步了解Hadoop平台

摘要: 前天阿里电面问到对hadoop平台的了解,虽然以前接触过一段时间,但几乎都忘了,所以悲剧了。今天重新来复习下基础知识吧,毕竟现在不懂点hadoop说不过去。 什么是Hadoop? -------------------------------------------- hadoop一个用于在普通硬件构成 的大集群上运行应用程序的框架。Hadoop框架透明地为应用... 阅读全文

posted @ 2014-03-31 20:43 狼牙灬月 阅读(357) 评论(0) 推荐(0) 编辑

[原]java集合类TreeMap和TreeSet

摘要: 看这篇博客前,我觉得很有必要先看下我之前的几篇博客 Red-Black Trees(红黑树) (TreeMap底层的实现就是用的红黑树数据结构)探索equals()和hashCode()方法 (TreeMap/TreeSet... 阅读全文

posted @ 2014-03-31 15:29 狼牙灬月 阅读(252) 评论(0) 推荐(0) 编辑

[原]《程序员面试题精选》05.输出一个字符串的所有子串

摘要: 题目:给定一个字符串,输出其所有子字符串,例如给定字符串abc,则输出 :a,b,c,d,ab,bc,cd,abc,bcd,abcd。 分析:今天看到csdn博客上面的一题,说是阿里巴巴电面的题目。初看到这道题的时候,就感觉很熟悉,在高中的时候,经常要算这种组合有多少个,当时我们计算的方法顺序是这样的:3+2+1 即 a,b,c,d, ab,bc,cd, abc... 阅读全文

posted @ 2014-03-31 12:49 狼牙灬月 阅读(2224) 评论(0) 推荐(0) 编辑

2014年3月30日

[原]java中的HashTable,HashMap和HashSet

摘要: 上篇博客中我们详细的分析了java集合《java中Map,List与Set的区别》。 同时我们也对HashSet和HashMap的核心方法hashcode进行了详解,见《探索equals()和hashCode()方法》。 万事俱备,那么下面我们就对基于hash算法的三个集合HashTable,HashSet和HashMap详解。 本文目录: 1. HashTab... 阅读全文

posted @ 2014-03-30 21:16 狼牙灬月 阅读(171) 评论(0) 推荐(0) 编辑

导航