美文网首页算法数据结构和算法分析技术干货
算法图解三(选择排序+递归)

算法图解三(选择排序+递归)

作者: Ron_罗恩 | 来源:发表于2019-10-22 21:32 被阅读0次

大家好,今天主要分享两个算法。选择排序+递归

选择排序

什么是选择排序呢?

通俗点讲就是先选出一个擂主。然后排着队的人跟他打。谁打赢了擂主,谁就成了新的擂主。一轮完了。“第一代擂主产生了“。开始第二轮擂主赛,(第一轮擂主不能参加

和第一轮比赛规则一样。第二轮完了。“第二代擂主就产生了”。以此类推,最后一轮,只有一个人。就不用比赛了。

于是用这样的方法,把选手,从大到小顺序排列了出来。这就是选择排序。

选择排序算法,时间为O(n*2),速度不是很快。

代码如下:

递归

初次接触递归的小伙伴,看着这俩个字一定很头疼。当时老师给我们讲的时候,我也听的很懵。最后还是自己慢慢研究给弄明白了。

什么是递归?

自己调用自己。直到基线条件,停止调用。

还是通俗的来说,我们想象在一堆盒子中,去找一把钥匙。找第一层盒子,没有找到钥匙,是个盒子。再找一层,还是盒子,再找一层,终于找到钥匙了。大功告成!

图片来自《算法图解》

基线条件和递归条件

基线条件就是停止调用自己。

递归条件就是函数调用自己。

图片来自《算法图解》  

PS:

如果你阅读之后,有所收获。请记得点赞哦。o(* ̄︶ ̄*)o。你的支持将是我写作的动力。

相关文章

  • 算法图解三(选择排序+递归)

    大家好,今天主要分享两个算法。选择排序+递归 选择排序 什么是选择排序呢? 通俗点讲就是先选出一个擂主。然后排着队...

  • 数据结构与算法二:认识O(NlogN)的排序

    1、递归算法 用递归算法求数组 arr[] 中的最大值 N程序实现: 递归逻辑图解如下图所示: 2、归并排序 归并...

  • 2018-05-10

    算法图解 p28 选择排序

  • 2020-11-14

    关于算法 一、选择排序(递归) 选择排序:每次找到最小值放到最前面 注:所有递归都能改成循环 选择排序(循环) 二...

  • 代码小工蚁的#《算法图解》#学习笔记-C4快速排序

    代码小工蚁的#《算法图解》#学习笔记-C4快速排序C4 快速排序quicksort 一、递归式问题的解决方法 递归...

  • 常见排序算法

    这里介绍四种排序算法,选择排序、快速排序、归并排序、计数排序 选择排序(使用递归) 选择排序(使用循环) 快速排序...

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

  • 2020前端面试(数据结构)

    常见排序算法 冒泡排序 快速排序 选择排序 插入排序 数组扁平化 递归 reduce toString 树的遍历 ...

  • 三大排序算法

    归并排序[稳定的排序算法] 递归实现 非递归实现 快速排序[不稳定的排序算法] 堆排序[不稳定的排序算法]

  • 递归算法:选择排序

    1、环境配置: 系统:win10 编程语言:C++ 编译器:DevC++ 2、算法思想: 思路:在n个中找到一个最...

网友评论

    本文标题:算法图解三(选择排序+递归)

    本文链接:https://www.haomeiwen.com/subject/mkecvctx.html