php专区

 首页 > php专区 > PHP进阶 > 算法 > JavaScript排序算法之选择排序

JavaScript排序算法之选择排序

分享到:
【字体:
导读:
         摘要:选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。选择排序的交换操作介于0和(n?1)次之间。选择排序的比较操作为n(n?1)/2...

JavaScript排序算法之选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

选择排序的交换操作介于0和(n ? 1)次之间。选择排序的比较操作为n(n ? 1) / 2次之间。选择排序的赋值操作介于0和3(n ? 1)次之间。

比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+...+1=n*(n-1)/2。 交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。 交换次数比冒泡排序少多了,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。


效果演示

本文地址:http://www.nowamagic.net/librarys/veda/detail/252,欢迎访问原出处。

JavaScript排序算法之选择排序
分享到:
JavaScript排序算法之希尔排序
JavaScript排序算法之希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种高速而稳定的改进版本。希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率。 但插入排序一般来说是低效的, 因为插入排序每次只能将...
JavaScript排序算法之插入排序
JavaScript排序算法之插入排序 插入排序(straight insertion sort)的做法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……