温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
对于算法的理解可以看成解决问题的过程和方式,无论算法是好还是坏,它都是一个独立的个体。在众多算法中,还是算法是经常被用到,或者在以往的生活或者面试当中会被提到的,所以理解和学会排序算法是非常重要的。还记得上小学的时候,老师会叫我们按照身高高低进行低个在前,高的在后的原则进行排队,放学回家。那么大家思考一下,如何排队是最有效的呢?首先我们第一个想到的是什么呢?从第一个学生开始,以此与相邻的学生进行比较,如果右边学生的身高大于左边呢?就把右边的学生和左边的学生的位置交换,反之不交换位置。他的思维大概是这样的,根据这个记忆的动画可以看出,它就像一个泡泡一样慢慢的往上升,这种算法就是冒泡排序,为了便于理解和加深级,我们以pon代码来模拟下这种思路,根据以上描述可以看出,每次循环就会以相邻的数组进行比较。如果当。
01:00
人数组大于相邻的数组,就把两个的位置进行交换,然后返回结果。那如果老师不喜欢这种方法呢?那我们可不可以这样做呢?重复从人员当前查找身高最小的,然后先交换位置。根据这个规律可以看出,每次选择最小值进行判断,然后交换位置,这种算法就是选择排序。大家可以思考一下可不可以这样做,就像我们玩扑克牌一样,从排好序的排语去和我们抓的排进行相比较呢?这样是不是更好呢?这种方式其实就是今天我们所说的插入排序的方法,根据这个描述可以看出,每次从选择区去和待选择的区域进行比较,然后交换位置。以上三种算法,军事排序算法当中常用到的或者面试中长问的算法,三个算法的时间复杂度都为M2,如果要想使时间更短的话,那么大家就要去考虑一下其他的算法,或者去了解一下对于这个概念和分制思想PFP阅读方式如何深度理解排序算法。
02:00
一更新说明,优先更新微信公众号语言的博客后,更新博客之后才会陆续分发到各个平台。如果先提前了解更多,请关注微信公众号雨夜的博客。博客来源,雨夜的博客。
我来说两句