[发明专利]一种双向交替折半插入排序的计算机内部排序方法在审
申请号: | 202011223108.9 | 申请日: | 2020-11-05 |
公开(公告)号: | CN112463111A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 袁琳琳;王代星;崔瑾 | 申请(专利权)人: | 贵州广播电视大学(贵州职业技术学院);贵州大学;贵州众智物联科技有限公司 |
主分类号: | G06F7/24 | 分类号: | G06F7/24 |
代理公司: | 广东有知猫知识产权代理有限公司 44681 | 代理人: | 吴国文 |
地址: | 550001 贵州*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 双向 交替 折半 插入 排序 计算机 内部 方法 | ||
本发明涉及排序方法技术领域,且公开了一种双向交替折半插入排序的计算机内部排序方法,包括以下步骤:S1:输入随机数列r[0…n‑1];S2:对数列初始化,若r[0]r[n‑1]则r[0]与r[n‑1]交换,左端有序序列指针left=0,右端有序序列指针right=n‑1;S3:从右端向左扫描,若[right‑1]r[right],则r[right‑1]向右端插入,right‑‑;若r[right‑1]r[right],则right‑‑,比较r[right]与r[left],若r[right]r[left],则r[right]向左端插入,然后r[right]=r[left]。本发明的优点在于:通过排序在原序列中进行,通过先在序列的左右两端按非递减排序,再逐渐向中间靠拢,同时保证右端有序序列的数据不小于左端有序序列的数据,通过在扫描待排序数据时,分别将大的数据插入右部有序序列和将小的数据插入左部有序序列,从而有效地减少了数据移动次数。
技术领域
本发明涉及排序方法技术领域,具体为一种双向交替折半插入排序的计算机内部排序方法。
背景技术
插入排序是计算机内部排序中最简单的排序算法之一。它的基本思想是把第一个元素当作初始有序序列,从第二个元素开始,逐个将所有元素向前插入到该序列之中。插入排序主要有两个基本操作,即查找插入位置时的数据比较和插入时的数据移动,通常把数据比较次数和数据移动次数作为算法的时间复杂度。根据查找插入位置的方式的不同,又分为直接插入排序和折半插入排序。折半插入排序也可以视为直接插入排序的改进算法,通过折半查找方式,减少了数据比较次数,但数据移动次数没有改变。2-路插入排序[1]是折半插入排序的改进算法,能够相对减少排序过程中数据的移动次数,但空间复杂度从O(1)增加到了O(n),时间复杂度受第一个元素影响。当第一个元素是最大或最小的元素时,算法的时间复杂度变得与折半插入排序一致。针对这些不足,本发明提出一种双向交替折半插入排序的计算机内部排序方法,用于解决上述问题。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种双向交替折半插入排序的计算机内部排序方法,具备降低排序次数等优点,解决了2-路插入排序效率受分界元素影响的问题。
(二)技术方案
为实现上述降低排序次数的目的,本发明提供如下技术方案:一种双向交替折半插入排序的计算机内部排序方法,包括以下步骤:
S1:输入随机数列r[0…n-1];
S2:对数列初始化,若r[0]r[n-1]则r[0]与r[n-1]交换,左端有序序列指针left=0,右端有序序列指针right=n-1;
S3:从右端向左扫描,若r[right-1]r[right],则r[right-1]向右端插入,right--;若r[right-1]r[right],则right--,比较r[right]与r[left],若r[right]r[left],则r[right]向左端插入,然后r[right]=r[left];
S4:从左端向右扫描,若r[left]r[left+1],则r[left+1]向左端插入,left++;若r[left]r[left+1],则left++,比较r[left]与r[right],若r[left]r[right],则r[left]向右端插入,然后r[left]=r[right];
S5:若leftright,重复Step2、Step3;
S6:输出r[0…n-1],算法结束。
优选的,所述双向交替折半插入排序算法的排序在原序列中进行,所述双向交替折半插入排序算法先在序列的左右两端按非递减排序后再逐渐向中间靠拢。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州广播电视大学(贵州职业技术学院);贵州大学;贵州众智物联科技有限公司,未经贵州广播电视大学(贵州职业技术学院);贵州大学;贵州众智物联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011223108.9/2.html,转载请声明来源钻瓜专利网。