算法——选择排序

很多的算法的基本条件都是对有序数据进行操作,最简单的例子就是昨天讲到的二分查找。在实际生活中,并不是所有的数据都是有序的,很多数据需要我们先进行排序再进行下一步的操作。

今天要说的是选择排序selectionSort。

选择排序简单说就是,每次比较所有的元素,选出最大或者最小的元素。

打个比方,0-9共有10个元素,你想要确定最小的元素是谁,怎么做呢?你需要用把所有的元素看一遍,选出最小的,次数为10;如何找第二小的元素呢?再次遍历,次数为9,依次876......总的运行次数就是1/2*(n+1)n但是为什么查资料看到的时间复杂度都是O(n^2)呢?这是因为O表示法通常省略常数。

不知道关于选择排序说清楚了没有,没有的话看具体的代码实现,我分别作了降序和升序的实现,如下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容