4264|15

169

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

排序算法运行慢的原因主要是哪个 [复制链接]

 
您好,请问影响排序算法(冒泡法、选择法)运行效率的原因主要是:序列中元素的比较过程,还是比较大小后的赋值过程。如果只是每个元素之间比较大小,但不改变他们在矩阵中的位置,是不是这样会快很多,,,谢谢
此帖出自51单片机论坛

最新回复

不知道啦,你慢慢研究吧  详情 回复 发表于 2016-11-18 10:54
点赞 关注
 

回复
举报

169

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
不改变他们在矩阵中的位置,怎么算是排序啊,排出来的序呢?
这个主要与你的算法有关,同样的算法,就与硬件条件相关了。
此帖出自51单片机论坛

点评

我其实也没真正弄清楚,,就是有一个排序算法,它好像也和每一个都比较了,但是没怎么交换位置,然后他就说这个算法很快,可能是这个序列本来是基本有序的(看了楼下解答我才知道),所以快,当时文献中也提到了基本  详情 回复 发表于 2016-10-10 22:54
 
 
 

回复

6040

帖子

205

TA的资源

版主

板凳
 
比较的次数和交换的次数都影响排序的速度。基本上有比较就有二分之一的概率交换,而排序就是比较和交换的过程。因此,寻找最合适的算法最为关键。不是特别特殊的应用,快排足矣满足。如果数据量不大,用什么算法都是无所谓的,差不了多少。数据量大的话,快排和冒泡就不是一个数量级的了。
此帖出自51单片机论坛

点评

您好! 我的排序的数目很大,,需要一个有效的、快速的排序方法,,也有人提到过很多算法,,但是要在已有的快速算法上创新,,不知道您有没有什么好的方向,,求教了  详情 回复 发表于 2016-10-10 22:43
 
 
 

回复

4005

帖子

0

TA的资源

版主

4
 
你这个问题比较复杂,得具体分析,太笼统的总结是没意义的。
非要说一个的话我觉得数据是否基本有序是主要的原因。
此帖出自51单片机论坛

点评

您好!我想再问您一个问题,如果有四个完全一样的序列(序列中元素比较多),那么我对它们四个同时进行排序所用的时间是不是要比我只对一个序列进行排序的时间要长。谢谢您!  详情 回复 发表于 2016-11-15 21:23
我滴天,,我怎么没有早点问您这个问题,,我看的文献中就是说了序列是基本有序的,,所以再把限定步数的情况下,,把原形基本有序的序列变得更加的有序,是能很快达到的,且效果很好,,请问您在排序方面有没有什么  详情 回复 发表于 2016-10-10 22:48
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

5
 
lcofjp 发表于 2016-10-9 22:48
比较的次数和交换的次数都影响排序的速度。基本上有比较就有二分之一的概率交换,而排序就是比较和交换的过 ...

您好! 我的排序的数目很大,,需要一个有效的、快速的排序方法,,也有人提到过很多算法,,但是要在已有的快速算法上创新,,不知道您有没有什么好的方向,,求教了
此帖出自51单片机论坛
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

6
 
huo_hu 发表于 2016-10-10 02:28
你这个问题比较复杂,得具体分析,太笼统的总结是没意义的。
非要说一个的话我觉得数据是否基本有序是主要 ...

我滴天,,我怎么没有早点问您这个问题,,我看的文献中就是说了序列是基本有序的,,所以再把限定步数的情况下,,把原形基本有序的序列变得更加的有序,是能很快达到的,且效果很好,,请问您在排序方面有没有什么好的方向,给我指一下??,感激不尽,,,您做电力系统吗,怎么一下就想到基本有序了,,,服啊
此帖出自51单片机论坛
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

7
 
jinyi7016 发表于 2016-10-9 22:08
不改变他们在矩阵中的位置,怎么算是排序啊,排出来的序呢?
这个主要与你的算法有关,同样的算法,就与硬 ...

我其实也没真正弄清楚,,就是有一个排序算法,它好像也和每一个都比较了,但是没怎么交换位置,然后他就说这个算法很快,可能是这个序列本来是基本有序的(看了楼下解答我才知道),所以快,当时文献中也提到了基本有序,但是我看它也是一个一个的在比较,,所以就弄不清为什么这种算法就快了,,,请问在排序方面有没有什么较快的算法啊,排出来的顺序有些许瑕疵不要紧,关键是要快??求教了?
此帖出自51单片机论坛
 
 
 

回复

4005

帖子

0

TA的资源

版主

8
 
本帖最后由 huo_hu 于 2016-10-11 10:28 编辑

你要想深入研究的话最好把所有的指标都量化,比如执行一次查找需要时间,交换一次数据单元需要时间(如果数据是链表形式或索引形式就复杂了),有序的成度,一次插入是否需要移动后面所有数据。。。。,最好情况最坏情况平均情况。。。
通通的总结在一起,计算后提出一个方法,那还算令人信服。
此帖出自51单片机论坛

点评

好的,,我再看看吧,,现在还好多都不懂,,还在看  详情 回复 发表于 2016-10-12 16:33
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

9
 
huo_hu 发表于 2016-10-11 09:56
你要想深入研究的话最好把所有的指标都量化,比如执行一次查找需要时间,交换一次数据单元需要时间(如果数 ...

好的,,我再看看吧,,现在还好多都不懂,,还在看
此帖出自51单片机论坛
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

10
 
huo_hu 发表于 2016-10-10 02:28
你这个问题比较复杂,得具体分析,太笼统的总结是没意义的。
非要说一个的话我觉得数据是否基本有序是主要 ...

您好!我想再问您一个问题,如果有四个完全一样的序列(序列中元素比较多),那么我对它们四个同时进行排序所用的时间是不是要比我只对一个序列进行排序的时间要长。谢谢您!
此帖出自51单片机论坛

点评

没明白啥意思  详情 回复 发表于 2016-11-16 15:54
 
 
 

回复

4005

帖子

0

TA的资源

版主

11
 
huangweichi123 发表于 2016-11-15 21:23
您好!我想再问您一个问题,如果有四个完全一样的序列(序列中元素比较多),那么我对它们四个同时进行排 ...

没明白啥意思
此帖出自51单片机论坛

点评

您好!就是我有四个数列,数列中的元素个数都是相等的,且都是乱序的,想在我想要将它们排序,当用同一种排序算法时,我只排其中一个数列和我排四个数列所花的时间谁长?  详情 回复 发表于 2016-11-16 21:28
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

12
 

您好!就是我有四个数列,数列中的元素个数都是相等的,且都是乱序的,想在我想要将它们排序,当用同一种排序算法时,我只排其中一个数列和我排四个数列所花的时间谁长?
此帖出自51单片机论坛
 
 
 

回复

4005

帖子

0

TA的资源

版主

13
 
四个数列是不同的,所以就没用,只能一个一个来
此帖出自51单片机论坛

点评

您好,我的四个数列虽然都是不同的,但是他们之间有一定的规律,我可以只排一个数列中的元素,然后就可以知道其他三个数列中元素的顺序。。但是我现在关注的是排一个数列是否比排四个数列所花的时间少??,如果两者  详情 回复 发表于 2016-11-17 19:35
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

14
 
huo_hu 发表于 2016-11-17 14:16
四个数列是不同的,所以就没用,只能一个一个来

您好,我的四个数列虽然都是不同的,但是他们之间有一定的规律,我可以只排一个数列中的元素,然后就可以知道其他三个数列中元素的顺序。。但是我现在关注的是排一个数列是否比排四个数列所花的时间少??,如果两者时间一样,我的工作就没有意义了,,谢谢!
此帖出自51单片机论坛

点评

不知道啦,你慢慢研究吧  详情 回复 发表于 2016-11-18 10:54
 
 
 

回复

4005

帖子

0

TA的资源

版主

15
 
huangweichi123 发表于 2016-11-17 19:35
您好,我的四个数列虽然都是不同的,但是他们之间有一定的规律,我可以只排一个数列中的元素,然后就可以 ...

不知道啦,你慢慢研究吧
此帖出自51单片机论坛

点评

好的,,感谢您的回答,谢谢!!  详情 回复 发表于 2016-11-18 11:37
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

16
 
huo_hu 发表于 2016-11-18 10:54
不知道啦,你慢慢研究吧

好的,,感谢您的回答,谢谢!!
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表