算法图解三(选择排序+递归)
2019-10-22 本文已影响0人
Ron_罗恩
大家好,今天主要分享两个算法。选择排序+递归
选择排序
什么是选择排序呢?
通俗点讲就是先选出一个擂主。然后排着队的人跟他打。谁打赢了擂主,谁就成了新的擂主。一轮完了。“第一代擂主产生了“。开始第二轮擂主赛,(第一轮擂主不能参加)
和第一轮比赛规则一样。第二轮完了。“第二代擂主就产生了”。以此类推,最后一轮,只有一个人。就不用比赛了。
于是用这样的方法,把选手,从大到小顺序排列了出来。这就是选择排序。
选择排序算法,时间为O(n*2),速度不是很快。
代码如下:
递归
初次接触递归的小伙伴,看着这俩个字一定很头疼。当时老师给我们讲的时候,我也听的很懵。最后还是自己慢慢研究给弄明白了。
什么是递归?
自己调用自己。直到基线条件,停止调用。
还是通俗的来说,我们想象在一堆盒子中,去找一把钥匙。找第一层盒子,没有找到钥匙,是个盒子。再找一层,还是盒子,再找一层,终于找到钥匙了。大功告成!
图片来自《算法图解》基线条件和递归条件
基线条件就是停止调用自己。
递归条件就是函数调用自己。
图片来自《算法图解》PS:
如果你阅读之后,有所收获。请记得点赞哦。o(* ̄︶ ̄*)o。你的支持将是我写作的动力。