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/

 

posted @ 2021-03-29 16:21  facebookb  阅读(52)  评论(0)    收藏  举报