搜索
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 帮忙设计算法
标题:
帮忙设计算法
只看楼主
qiezifxj
等 级:
新手上路
帖 子:2
专家分:0
注 册:2010-4-7
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:5
帮忙设计算法
题目大意:输入n个互不相同的正整数,每次只能交换两个相邻的数字,为了从小到大排序,至少要交换几次?
我自己只能找到O(n^2)的算法,但是会超时。
希望有高手设计出O(n)或者O(n*logn)的算法
搜索更多相关主题的帖子:
设计
2010-04-12 20:59
qiezifxj
等 级:
新手上路
帖 子:2
专家分:0
注 册:2010-4-7
第
2
楼
得分:0
没人回啊!!!
2010-04-13 11:21
mywaylgh
来 自:厨房
等 级:
蝙蝠侠
威 望:
5
帖 子:188
专家分:729
注 册:2010-3-10
第
3
楼
得分:5
这么多排序算法,都是已经很成熟了的,何必自找麻烦呢:)
人生就像茶几 上面放着许多杯具
人生也像厨房 里面总有一些洗具
2010-04-14 11:24
linjx0123
等 级:
贵宾
威 望:
14
帖 子:279
专家分:1362
注 册:2006-4-7
第
4
楼
得分:5
这个应该就是冒泡排序吧
for(int i=0;i<n-1;i++){
for(int j=1;j<n-i;j++){
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
2010-04-14 16:31
asdjc
来 自:武汉
等 级:
侠之大者
威 望:
7
帖 子:98
专家分:487
注 册:2010-1-22
第
5
楼
得分:5
排序方式有很多,冒泡,shell,堆,快速等等。但平均最快的是(nlogn)。
楼主你有o(n/2)的算法???
拿来看看!!!
2010-04-16 07:16
qq8801103
来 自:苏州中科大软件学院
等 级:
职业侠客
威 望:
1
帖 子:422
专家分:340
注 册:2009-10-8
第
6
楼
得分:5
楼住指明要用二分法吗
Discuz!
好好学习 天天向上
2010-04-17 22:26
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-302715-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.530408 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved