记一次蚂蚁金服的面试经历
排序名称稳定性平均时间复杂度最好时间复杂度最坏时间复杂度桶排序不稳定O(n)O(n)O(n)基数排序稳定O(n)O(n)O(n)归并排序稳定O(nlogn)O(nlogn)O(nlogn)快速排序不稳定O(nlogn)O(nlogn)O(n^2)堆排序不稳定O(nlogn)O(nlogn)O(nlogn)冒泡排序稳定O(n^2)O(n)O(n^2)选择排序不稳定O(n^2)...
面试常见问题:时间复杂度O是什么?
最好、最坏、平均、均摊时间复杂度其实这个才是相对来说最难的,因为很多时候,我们理解这个是需要我们从代码层面来理解他的最好,最坏,平均,均摊时间复杂度的。比如如下的代码:/***找出给定数组中给定元素的位置,如果找不到返回-1*@paramarr给定数组*@paramtarget给定元素*@return*/public...
字节CV搜索提前批面试题7道|含解析
快速排序:平均时间复杂度是O(nlogn),但在最坏的情况下是O(n^2)。冒泡排序:时间复杂度在最好、平均和最坏的情况下都是O(n^2)。插入排序:最好的情况下时间复杂度是O(n),平均和最坏的情况下是O(n^2)。问题7:堆排序堆排序是一种基于二叉堆数据结构的排序算法。建堆的过程:可以从一个无序...
数据工程师的重要数据结构和算法
基于比较的排序算法,例如冒泡排序、插入排序、快速排序和合并排序,比较数据中的元素以确定顺序。这些算法的时间复杂度在平均情况下为O(nlogn),在最坏情况下为O(n^2)。非基于比较的排序算法(例如计数排序、基数排序和桶排序)不比较元素来确定顺序。因此,这些算法在平均情况和最坏情况下的时间复杂度均为...
十张架构图读懂数据结构和算法,吊打面试官
是对冒泡排序的??种改进,不稳定,平均/最好时间复杂度O(nlogn),元素基本有序时最坏时间复杂度O(n??),空间复杂度O(logn)??先选择??个基准元素,通过??趟排序将要排序的数据分割成独??的两部分,??部分全部??于等于基准元素,??部分全部??于等于基准元素,再按此??法递归对这两部分数据进...
地产大佬潘石屹:人生苦短,我要学Python
合并两个有序数组,猜数字游戏,计算年龄等等;第五天:数据结构(6小时):栈,队列,字典,元组,树,链表;第六天:面向对象编程(OOP)(6小时):对象,类,方法和构造函数,面向对象编程之继承;第七天:算法(6小时):搜索(线性和二分查找)、排序(冒泡排序、选择排序)、递归函数(阶乘、斐波那契数列)、时间复杂度(线性、...
福建农林大学2017年硕士自命题考试说明-掌上考研
3.算法的渐进时间复杂度和空间复杂度分析二、线性表1.线性表的逻辑结构2.顺序表及其实现3.单链表及其实现4.双向链表及其实现5.线性表的应用问题三、栈1.栈的逻辑结构与操作特性2.顺序栈及其实现3.链栈及其实现4.栈的应用问题四、队列...
地产大佬潘石屹:人生苦短,我要学Python
第七天:算法(6小时):搜索(线性和二分查找)、排序(冒泡排序、选择排序)、递归函数(阶乘、斐波那契数列)、时间复杂度(线性、二次和常量)。在第一周的学习结束后,千万不要急着安装Python环境,因为很多人都在语言工具包和IDE安装失败后逐渐失去了学习欲望。你可以使用几个安卓App来继续探索,比如编程英雄或...
「校招冷面」我这里有很多凉经(大厂小厂都有),感觉无法自我救赎了
AOP如何实现RabbitMQRedis多路复用,Reactor事件分发器数据库如何查询大数据数据库建立索引有哪些注意的地方数据库索引有哪些左连接和右连接的区别数据序列化Java中HashMap与HashTable区别Java中HashMap底层数据结构Java中volatile有什么用,能保证原子性吗有哪些排序算法,堆的时间复杂度跨域微信发红包如何测试100亿数据获取...
Python 爬虫面试题 170 道:2019 版
(2)从AList和BSet中插入4,最坏时间复杂度那个大?123.用Python实现一个二分查找的函数124.python单例模式的实现方法125.使用Python实现一个斐波那契数列126.找出列表中的重复数字127.找出列表中的单个数字128.写一个冒泡排序