美文网首页
《算法》-排序[初级排序算法]

《算法》-排序[初级排序算法]

作者: 算法手记 | 来源:发表于2020-09-01 22:58 被阅读0次

    《算法》系列,是面向《算法》第四版这本书进行学习,会去除繁琐的文字叙述,会从以下两个方面去理解一个算法:

1、这个算法是什么?

2、这个算法怎么用?

    整个系列会使用python作为编程语言,避免看着文本抄袭的麻烦。一些关于《算法》这本书的学习方法可以参考:算法学习之路

选择算法

不稳定排序

1、找到数组中最小的元素

2、将它和第一个元素交换位置

3、再从剩下的元素中找到最小的元素,将它和第二个元素进行交换,如此往复。

插入算法

属于稳定排序,相当于抓牌,将每一张牌放到相应位置。

步骤:

选一个key,对比前面的数字,进行交换

希尔算法

属于不稳定排序,平均nlog(n)

希尔排序(Shell’s Sort)是插入排序的一种,相对于插入排序只能相邻之间交换,希尔排序可以在子序列中进行交换。

步骤:

1、把记录按步长gap分组,对每组记录采用直接插入排序方法进行排序;

2、随着步长逐渐减小,所分成的组包含的记录越来越多;

3、当步长值减小到1时,整个数据合成一组,构成一组有序记录,完成排序;

公众号:算法手记

相关文章

网友评论

      本文标题:《算法》-排序[初级排序算法]

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