插入排序算法的分析与比较科技论文
目录
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結论
对于无序数据希尔排序算法的移动次数明显小于其他直接插入排序算法比较次数最多希尔排序算法的运行时间比其他算法均长;对于递增数据希尔排序算法的比较次数和移动次数都小于其他算法二分法算法的比较次数最多;对于递减数据直接插入算法比较最多二分法插入算法比较次数最少希尔算法的移动次数最少。
上次部落分享过VirMach提供的End of Life Plans系列的VPS主机,最近他们又发布了DEDICATED MIGRATION SPECIALS产品,并提供6.5-7.5折优惠码,优惠后最低每月27.3美元起。同样的这些机器现在订购,将在2021年9月30日至2022年4月30日之间迁移,目前这些等待迁移机器可以在洛杉矶、达拉斯、亚特兰大、纽约、芝加哥等5个地区机房开设,未来迁移的时...
justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...
昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...