插入排序算法的分析与比较科技论文
目录
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結论
对于无序数据希尔排序算法的移动次数明显小于其他直接插入排序算法比较次数最多希尔排序算法的运行时间比其他算法均长;对于递增数据希尔排序算法的比较次数和移动次数都小于其他算法二分法算法的比较次数最多;对于递减数据直接插入算法比较最多二分法插入算法比较次数最少希尔算法的移动次数最少。
ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...
今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...
印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...