摩根史丹利算法面试真题:插入排序

Posted 代码笔记哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了摩根史丹利算法面试真题:插入排序相关的知识,希望对你有一定的参考价值。

   关注代码笔记哥有助于升职加薪噢!

欢迎来到笔记哥讲题 第6期

Insertion Sort

插入排序

摩根史丹利算法面试真题:插入排序
摩根史丹利算法面试真题:插入排序

     接上一期的内容,我们来复习另一个时间复杂度为O(n2)的比较排序:插入排序 (Insertion Sort) 。

题意

       给出一个无序整数数组,将其按从小到大的顺序排好。排序过程必须在给定数组内实现(in-place), 不可以额外开新的数组大小的空间。要求用插入排序完成。

 

样例:

输入: [2, 9, 5, 1]

输出: [1, 2, 5, 9]


思路

        “局部有序,挪移插入。”

 

       视频中提到“插入排序适用于数组局部有序这一场景”。这里补充一下,如果给定数组完全逆序,如 input array = [9,5,2,1] 我们仍可用插入排序;因为此时第一个数字9,可看做它对于它自己已经有序。只是在完全逆序情况下,插入排序的时间复杂度必然为O(n2),读者可以思考下这是为什么。


       详细讲解见视频。


视频

1. 腾讯视频链接

点击边框调出视频工具条
摩根史丹利算法面试真题:插入排序  


 2. YouTube链接

    墙外党请移步  https://youtu.be/ys6-TlRqAo8


长按上方二维码,关注Coding-Notes

获得美国顶尖金融与技术公司面试算法题

代码笔记哥,走心讲真题

将以更多原创优质内容

答谢您的赞赏

以上是关于摩根史丹利算法面试真题:插入排序的主要内容,如果未能解决你的问题,请参考以下文章

算法面试章-排序:彻底拿下插入排序和冒泡排序

面试之插入排序算法

手撕九大排序算法——面试必备!!!

面试官:冒泡插入选择这三种常见的排序算法你了解?为什么插入排序更受欢迎?

面试官:聊聊选择排序和插入排序吧

面试官问我插入排序和冒泡排序哪个更牛逼?