基于JavaScript实现的希尔排序算法分析

本文实例讲述了基于JavaScript实现的希尔排序算法。分享给大家供大家参考,具体如下:

通过对直接插入排序的分析,可知其时间复杂度为O(n2),但是,如果待排序序列为正序时,其时间复杂度可提高至O(n)。希尔排序正是对此进行改进的排序。希尔排序的核心理念与插入排序不同,它会首先比较距离较远的元素,而非相邻元素。通过定义一个间隔序列来表示在排序过程中进行比较的元素之间有多远的间隔。

下图演示了希尔排序中间隔序列是如何运行的:

下面我们通过js来实现希尔排序,代码如下:

JavaScript希尔排序

其排序过程如下:

希尔排序根据间隔序列的选取不同,时间复杂度也不同,但是需要注意,应该使间隔序列中的值没有除1以外的公因子,并且最后一个间隔值必须等于1。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

阅读本文之前,分享大家一张图片,看图会发现JavaScript开发...
Promises是一种关于异步编程的规范,目的是将异步处理对象和...
引子 Patrick Catanzariti 是一名Web开发工程师,最近他在 s...
小编吐血整理加上翻译,太辛苦了~求赞! 本文主要总结了Java...
微软于今日(2015年12月10日)宣布即将开源Chakra核心控件,...
通过统计数据库中的1000多个项目,我们发现在 JavaScript 中...