专栏首页大数据和云计算技术#算法基础#选择和插入排序

#算法基础#选择和插入排序

算法是基础,小蓝同学准备些总结一系列算法分享给大家,这是第二篇《选择和插入排序》,非常赞!希望对大家有帮助,大家会喜欢!

系列文章:

由快速排序到分治思想

一、选择排序

这是一种最简单的排序算法 第一步他先找到数组中最小的元素,然后将它和本数组中第一个元素交换位置。然后把剩下的n-1个数算为一个数组。继续找到其中最小的 放到第二个位置。以此往复。于是恭喜你得到了大奖,一个有序的数组。哈哈

话不多说 看代码 :

public static void sort(Comparable[] a) {
 int N = a.length;
 for (int i = 0; i < N; i++) {
 int min = i;
 for (int j = i + 1; j < N; j++) {
 if (less(a[j], a[min])) //对比
 min = j;
 exch(a, i, min);   //交换
            }
        }
    }

特性:

时间复杂度:N²

空间复杂度:N

多索引的稳定性:不稳定

应用: 程序员的日常

二、插入排序

不知道 同学喜欢打牌吗,不知道你喜不喜欢 反正我很喜欢。而插入排序的特点就和抓牌时候是一样一样的。 你先从一大堆数组中抓起一个 然后再抓起一个按大小排序。在抓起一个按大小插进去 。。。。。。。。。。。好了 你手上就是一个理好的牌(数组)了。这就是插入排序。就是这么简单。

对于这个表示不想多说 扔代码吧

 public static void sort(Comparable[] a) {
 int N = a.length;
 for (int i = 0; i < N; i++) {
 for (int j = i; j > 0 && less(a[j], a[j - 1]); j--)
  { 
 exch(a, j, j - 1);
            }
        }
    }

特性:

时间复杂度:N²

空间复杂度:N

多索引的稳定性:稳定

应用: 程序员的日常

本文分享自微信公众号 - 大数据和云计算技术(jiezhu2007),作者:蓝随

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 由快速排序到分治思想

    算法是基础,小蓝同学准备些总结一系列算法分享给大家,这是第一篇《由快速排序到分治思想》,非常赞!希望对大家有帮助,大家会喜欢! 快速排序是一种基于分治思想...

    大数据和云计算技术
  • 浅谈资源管理技术的未来发展之路

    关于资源管理业界主要框架,大家可以看我前面的文章。资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析。业界当前最典型的就是YAR...

    大数据和云计算技术
  • 同态加密技术

    最近领导安排研究下大数据的安全,计算机安全是个系统工程,分很多层面: 1)硬件安全 2)应用软件安全 3)操作系统安全 4)数据库系统安全 5)网络安全技术 涉...

    大数据和云计算技术
  • iOS移动直播,自定义采集视频数据推流

    当音视频采集和预处理(即美颜、滤镜这些)开发者已经全部实现,只需要使用 SDK 来编码和推流,那么可以通过 TXLiteAVSDK 提供的自定义采集数据接口来满...

    腾讯云-chaoli
  • Python爬虫-百度模拟登录(二)

    参数值都看到了,token、tt、dv、callback这些变化的参数我们都知道了吧,其他的参数固定,别问我为什么。这个logincheck注意到了吗?是不是有...

    星星在线
  • 车老哥手把手带你配置AI项目的环境

    本系列为小白入门整个AI项目教程,主要涉及双系统的搭建,linux的使用,安装caffe-gpu版本,利用caffe实现目标检测,并移植模型到android移动...

    Sam Gor
  • 手把手教你安装win10+Ubuntu16.04的双系统(全网最详细)

    本系列为小白入门整个AI项目教程,主要涉及双系统的搭建,linux的使用,安装caffe-gpu版本,利用caffe实现目标检测,并移植模型到android移动...

    小小詹同学
  • 一道SQL题的前世今生

    注:以下讨论核心在于解释原理,所涉及到的数据和表结构均为虚构。本文代码较多,如果看不清楚,可以在后台回复“sql”获取本文PDF版本。

    数据森麟
  • 字符串与编码

    在最新的Python 3版本中,字符串是以Unicode编码的,即Python的字符串支持多语言

    py3study
  • [mitbbs面经][Google] k largest elements

    mitbbs google 最新算法题讲解,sliding window 中查找top K元素。 发题人id:zerocoolcode 发题时间: 3/25/2...

    包子面试培训

扫码关注云+社区

领取腾讯云代金券