插入排序算法的分析与比较科技论文
目录
2算法的基本思想
2. 1直接插入排序
2. 2二分法插入排序
2. 3希尔排序
3结果分析
30 29 28 27 26 25 24 23 22 21 20 19 18 171 16 15 14
13 1211 10 9 8 7 6 54 3 21
正文
摘要排序算法作为计算机程序设计、数据库及操作系统等课程的重要基础广泛应用于各种领域。该文介绍了直接插入排序、二分法插入、希尔排序的基本思想实现代码并针对不同数据进行比较
关键字直接插入;二分法插入;希尔排序
中图分类号 TP312文献标识码 A
文章编号 1009-3044 2020 01-0289-02
1概述
排序是将一个数据元素的任意序列重新排列成一个按关键词有序的序列。根据排序过程中依据不同的原则将排序算法分为插入排序、交换排序、选择排序、归并排序和计数排序五类。在不同环境下每种算法都有各自的优缺点。我们从算法实现不同数据进行运算比较说明不同算法的优缺点。
2算法的基本思想
2. 1直接插入排序
直接插入排序是一种最简单的排序方法它的基本思想是将一个记录插入到已经排好序的有序表中从而一个新的、记录数增1的有序表。在其实现过程使用双层循环外层循环对除了第一个元素之外的所有元素 内层循环对当前元素前面有序表进行待插入位置查找并进行移动其代码实现如下
2.2二分法插入排序
与直接插入排序相比较基本思想是一致的区别在于在查找待插入位置时不再是从前往后或者从后往前依次相比较而是和前面的有序表中间位置的元素相比较如果待插入元素大则直接和有序表的后半部分再次进行比较否则缩至有序表的前半部分。其代码如下
2.3希尔排序
希尔排序又称为“缩小增量排序” 将待排序记录按增量分成不同小组在组内进行直接插入排序。其代码如下
3结果分析
原始数据为 80 33 25 4 13 92 68 75 30 38 46 42 1526 8 23
37 98 83 72 65 3 18 22 34 44 55 85 70 60
原始数据为 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819
20 21 22 23 24 25 26 27 28 29 30
原始数据为
30 29 28 27 26 25 24 23 22 21 20 19 18 171 16 15 14 13
1211 10 9 8 7 6 54 3 21
4結论
对于无序数据希尔排序算法的移动次数明显小于其他直接插入排序算法比较次数最多希尔排序算法的运行时间比其他算法均长;对于递增数据希尔排序算法的比较次数和移动次数都小于其他算法二分法算法的比较次数最多;对于递减数据直接插入算法比较最多二分法插入算法比较次数最少希尔算法的移动次数最少。
SugarHosts糖果主机商我们较早的站长们肯定是熟悉的,早年是提供虚拟主机起家的,如今一直还在提供虚拟主机,后来也有增加云服务器、独立服务器等。数据中心涵盖美国、德国、香港等。我们要知道大部分的海外主机商都只提供Linux系统云服务器。今天,糖果主机有新增SugarHosts夏季六折的优惠,以及新品Windows云服务器/云VPS上线。SugarHosts Windows系统云服务器有区分限制...
菠萝云国人商家,今天分享一下菠萝云的广州移动机房的套餐,广州移动机房分为NAT套餐和VDS套餐,NAT就是只给端口,共享IP,VDS有自己的独立IP,可做站,商家给的带宽起步为200M,最高给到800M,目前有一个8折的优惠,另外VDS有一个下单立减100元的活动,有需要的朋友可以看看。菠萝云优惠套餐:广州移动NAT套餐,开放100个TCP+UDP固定端口,共享IP,8折优惠码:gzydnat-8...
Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...