当前位置 博文首页 > 卢卢在路上:十大算法(动图讲解)??超详细!

    卢卢在路上:十大算法(动图讲解)??超详细!

    作者:[db:作者] 时间:2021-09-17 09:10

    您可能感兴趣的文章推荐
    画解顺序表
    画解链表
    画解栈
    画解队列
    画解哈希表
    画解二叉树
    画解图

    目录
    零、算法概述
    一、插入排序
    二、冒泡排序
    三、选择排序
    四、计数排序
    五、基数排序
    六、归并排序
    七、快速排序
    八、随机快速
    九、 希尔排序
    十、 堆堆排序

    ??今天的内容,将围绕这几张动图来展开。可以大致先简单看一下,这是一个归并排序的动图演示,我会对以上几个排序从 算法原理、动图详解 讲到 C语言 的 源码分析。


    零、算法概述
    ??今天要讲的内容是 「 十大排序算法 」。各个排序算法中的思想都非常经典,如果能够一一消化,那么在学习算法的路上也会轻松许多。

    ??相信看我文章的大多数都是「 大学生 」,能上大学的都是「 精英 」,那么我们自然要「 精益求精 」,如果你还是「 大一 」,那么太好了,你拥有大把时间,没错!利用这个时间 「 学好算法 」,三年后的你自然「 不能同日而语 」
    ??那么这里,我整理了「 几十个基础算法 」 的分类,有需要可以找我领取。大致一览:




    🔥让天下没有难学的算法🔥

    C语言免费动漫教程,和我一起打卡!
    🌞《光天化日学C语言》🌞

    入门级C语言真题汇总
    🧡《C语言入门100例》🧡

    几张动图学会一种数据结构
    🌳《画解数据结构》🌳

    组团学习,抱团生长
    🌌《算法入门指引》🌌

    竞赛选手金典图文教程
    💜《夜深人静写算法》💜

    一、插入排序
    ?? 「 插入排序 」 是比较好理解且编码相对简单的排序算法,虽然效率不是很高。

    一、🎯简单释义

    1、算法目的

    ??将原本乱序的数组变成有序,可以是 「升序」 或者 「降序」 (为了描述统一,本文一律只讨论 「 升序」 的情况)。

    2、算法思想

    ??通过不断将当前元素 「插入」 「升序」 序列中,直到所有元素都执行过 「插入」 操作,则算法结束。

    3、命名由来

    ??每次都是将元素 「插入」 到 有序 序列中,故此命名 「 插入排序 」

    二、🧡核心思想

    • 「迭代」:类似的事情,不停地做。
    • 「比较」:关系运算符 小于等于(
           ≤
          
         
         
          \le
         
        
       </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.77194em; vertical-align: -0.13597em;"></span><span class="mrel">≤</span></span></span></span></span>) 的运用。</li><li><font color="000000"><b> 「移动」</b></font>:原地后移元素。</li></ul> 
      
    cs