程序员须知:面试中最容易被问到的 18 个算法题
算法是比较复杂又基础的学科,每个学编程的人都会学习大量的算法。而根据统计,以下这
18 个问题是面试中最容易遇到的,本文给出了一些基本答案,供算法方向工程师或对此感
兴趣的程序员参考。
程序员须知:面试中最容易被问到的 18 个算法题(附答案!)
1)请简单解释算法是什么?
算法是一个定义良好的计算过程,它将一些值作为输入并产生相应的输出值。简单来说,它
是将输入转换为输出的一系列计算步骤。
2)解释什么是快速排序算法?
快速排序算法能够快速排序列表或查询。它基于分割交换排序的原则,这种类型的算法占用
空间较小,它将待排序列表分为三个主要部分:
小于 Pivot 的元素
枢轴元素 Pivot(选定的比较值)
大于 Pivot 的元素
3)解释算法的时间复杂度?
算法的时间复杂度表示程序运行完成所需的总时间,它通常用大 O 表示法来表示。
4)请问用于时间复杂度的符号类型是什么?
用于时间复杂度的符号类型包括:
Big Oh:它表示小于或等于目标多项式
Big Omega:它表示大于或等于目标多项式
Big Theta:它表示与目标多项式相等
Little Oh:它表示小于目标多项式
Little Omega:它表示大于目标多项式
5)解释二分法检索如何工作?