数据结构与算法面试题集

什么是算法?

算法是指令的集合,是为了解决特定问题而规定的一些列操作。

时间复杂度

算法的执行时间随着问题规模的增长而变化的规律。

算法的执行时间受到以下四个因素的影响:

  • 硬件层面:计算机执行每条指令的速度
  • 软件层面:编译产生的代码质量
  • 算法策略:算法的好坏
  • 问题规模

空间复杂度

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。

例如:插入排序的算法复杂度是O(1)。而一般递归算法的时间复杂度就是O(n),因为每次递归都要存储结果。

常熟阶O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn),平方阶O(n^2)、立方阶O(n^3)、k次方阶O(n^k)、指数阶O(2^n);

描述一下Java的集合体系,List、Set与Map有什么区别?

Java集合里使用接口来定义功能,是一套完善的继承体系。Iterator是所有集合的总接口,其他所有接口都继承于它,该接口定义了集合的 遍历操作,Collection接口继承于Iterator,是集合的次级接口(Map独立存在,除外),定义了集合的一些通用操作。

Java集合的类结构图如下所示:

猜你喜欢

转载自blog.csdn.net/weixin_41205419/article/details/79972762