算法数据结构和算法分析技术干货

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

2019-10-22  本文已影响0人  Ron_罗恩

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

选择排序

什么是选择排序呢?

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

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

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

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

代码如下:

递归

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

什么是递归?

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

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

图片来自《算法图解》

基线条件和递归条件

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

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

图片来自《算法图解》  

PS:

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

上一篇下一篇

猜你喜欢

热点阅读