日期:2014-05-20  浏览次数:20736 次

面试去了,帮忙看看
1、linked   List   和   Array的区别
2、List与Array排序的区别
3、如何打印binary   tree,level   by   level   starting   at   the   top
4、编程计算Fibonacci,     F[n]=F[n-1]+F[n-2]
帮忙解释一下吧,谢谢

------解决方案--------------------
public class Test2 {
public static int f(int m) {
if(m == 1) {
return 1;
}
if(m == 2) {
return 1;
}

return f(m-1) +f(m-2);
}
public static void main(String[] args) {
for(int i = 1; i <20; i++) {
System.out.print(f(i) + ", ");
}
}
}
------解决方案--------------------
linked list 是双向链表结构,对于插入元素操作更节省效率。
------解决方案--------------------
Array是数组结构,linked list是链表结构,检索的速度快于Array.
------解决方案--------------------
第一题是说链表结构和线性结构的区别吧

第三题是让从根节点层序输出二叉树啊,以前背过很过算法的,现在忘了,不过倒是个基本的算法,就和先中后排序是一起的吧

第四题是说每个数等于前两个数的和,就像数列 1 1 2 3 5 8 13 21 .....
就和《达芬奇密码》中那个死去的老头临死前留下的破解密码的那个Fibonacci

第二题就不晓得了List与Array排序,实在是不知道