4.数据结构与算法面试
1.算法复杂度
https://blog.csdn.net/weixin_43126117/article/details/96151406
一般都是问时间复杂度
O(1) 常数
O(n) 一层普通for循环
O(log(n))
O(n的2次方)
2.时间复杂度大小比较
https://blog.csdn.net/chenguanghan123/article/details/83478259
在上图中,我们可以看到当 n 很小时,函数之间不易区分,很难说谁处于主导地位,但是当 n 增大时,我们就能看到很明显的区别,谁是老大一目了然:
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n)
3.常用排序算法
冒泡 快排
冒泡排序是从最底层元素开始比较,(与其上的元素比较)
小于就往上再比,大于就交换,再用较小的往上比较,直到最高层,
第一次把最小的放到最上层,第二次把第二小的放到第二层,以次类推;
快速排序是先找到一个轴值,比较时把所有比轴值小的放到轴值的左边,
比轴值大的放到右边,再在两边各自选取轴值再按前面排序,直到完成.
冒泡排序和快速排序算法 https://www.pianshen.com/article/9749412578/
浙公网安备 33010602011771号