[发明专利]一种金字塔排序算法在审

专利信息
申请号: 201510975288.9 申请日: 2015-12-22
公开(公告)号: CN105574344A 公开(公告)日: 2016-05-11
发明(设计)人: 吕勇;刘斌 申请(专利权)人: 常州信息职业技术学院
主分类号: G06F19/00 分类号: G06F19/00
代理公司: 北京中济纬天专利代理有限公司 11429 代理人: 徐琳淞
地址: 213164 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种金字塔排序算法,先找到一个为2的整数次幂的整数m,m/2<n≤m;然后将需要排序的n个数据放入b数组中;然后逐一比较b数组中相邻数据,将相对大数的下标放入c数组的m/2~m-1单元中;然后逐个比较b[c[m-1]]~b[c[m/2]]中的相邻数据,并将相对大数的下标放入c[m/2-1]~c[m/4]中,依此类推,最后整个b数组最大值数据的下标会被放入c[1]中;然后不断找出b数组中的最大值,完成排序。在待排序序列基本有序情况下,本发明的排序速度明显优于快速排序,并且在对待排序元素为较复杂的数据结构进行排序的情况下,本发明的排序速度明显优于堆排序。
搜索关键词: 一种 金字塔 排序 算法
【主权项】:
一种金字塔排序算法,其特征在于:包括以下步骤:①、对n个数据进行排序时,先定义一个具有n个单元的a数组,然后找到一个整数m,m为2的整数次幂,并且m/2<n≤m;②、定义一个具有m个单元的b数组,b数组构成金字塔的塔基;再定义一个具有m个单元的c数组,c数组构成金字塔的塔身;③、对c数组进行初始化,将需要排序的n个数据放入b数组中,并在b数组中放入m‑n个最小值数据,该最小值数据为n个数据中的最小值数据,形成m/2对相邻数据;然后将其逐一比较,将相对大数的下标放入c数组的m/2~m‑1单元中,此过程形成金字塔第1层塔身;④、从m‑1开始,逐个比较b[c[m‑1]]和b[c[m‑2]]、b[c[m‑3]]和b[c[m‑4]]、……、b[c[m/2+1]]和b[c[m/2]],并将相对大数的下标放入c[m/2‑1]、c[m/2‑2]、……、c[m/4]中,依此类推形成金字塔第2、第3……乃至最高一层塔身,由此构建整个塔身,最后整个b数组最大值数据的下标会被放入c[1]中;⑤、为步骤④得到的b数组中的最大值数据赋以最小值;⑥、重复步骤④和步骤⑤,从而不断找出b数组中的最大值,并将其逐个放入a[0]、a[1]、a[2]……,完成排序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州信息职业技术学院,未经常州信息职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510975288.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top