插入排序算法的分析与比较科技论文
目录
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結论
对于无序数据希尔排序算法的移动次数明显小于其他直接插入排序算法比较次数最多希尔排序算法的运行时间比其他算法均长;对于递增数据希尔排序算法的比较次数和移动次数都小于其他算法二分法算法的比较次数最多;对于递减数据直接插入算法比较最多二分法插入算法比较次数最少希尔算法的移动次数最少。
ftlcloud怎么样?ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。点击进入:ftlcloud官方网站...
A400互联是一家成立于2020年的商家,主要推行洛杉矶服务器采用kvm架构,线路优质,延迟低,稳定性高!全场产品对标腾讯云轻量,服务器线路有有美国洛杉矶cn2_gia、香港cn2+cmi,目前推行的vps服务器均为精心挑选的优质线路机房,A400互联推出了夏季优惠洛杉矶5折、香港7折促销活动,质量可靠,价格实惠!二:优惠码洛杉矶五折优惠码:20210620香港cn2七折优惠码:0710三、优惠方...
WordPress经典外贸企业建站主题,经典配色扁平化简约设计+跨屏自适应移动端设备,特色外贸企业建站功能模块+在线Inquiry询单功能,更有利于Google等英文搜索优化和站点收录。采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用...