本篇主要内容为数据结构与算法的入门和基本概念的了解
自学Java有了一段时间了,也参加了几个公司的笔试,结果发现,对于校招的同学来说,笔试中对于数据结构与算法的考察还是比较多的,这一系列的博客是对最近学习的数据结构与算法的记录,算是一个小小的读书笔记吧。
数据结构是计算机中存储、组织数据的方式。精心选择的数据结构可以带来最优效率的算法。
学习之前先来看几个例子:
1、 思考一个问题,如果你是一个图书馆管理员,你要怎么摆放图书才能够更高效的摆放或者查找到你算需要的那一本图书呢?
方法一:随便摆放 ,任何时候有新书进来,哪里有空放在哪里 ----------插入效率高,查找时效率低。
方法二 :按照书名首字母拼音顺序摆放 ----------查找效率高,新书插入效率极低。
方法三:把书架划分成几个区域,每个区域指定摆放某种特定的图书,每个区域内按书名首字母顺序摆放----种类少时,插入效率低;种类多时,查找效率低,可能造成空间浪费。
2、实现一个函数PrintN(int n) 使得该函数打印出从1开始到n的所有正整数。
public void forNum(int num){
for(int i=1;i<num;i++){
System.out.println(i);
}
}
public void recuNum(int num){
if(num>0){
recuNum(num-1);
System.out.println(num);
}
return;
}
分别用for循环与递归来实现,测试发现,当