| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:帮忙设计算法
只看楼主 加入收藏
qiezifxj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
帮忙设计算法
题目大意:输入n个互不相同的正整数,每次只能交换两个相邻的数字,为了从小到大排序,至少要交换几次?

我自己只能找到O(n^2)的算法,但是会超时。
希望有高手设计出O(n)或者O(n*logn)的算法
搜索更多相关主题的帖子: 设计 
2010-04-12 20:59
qiezifxj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-7
收藏
得分:0 
没人回啊!!!
2010-04-13 11:21
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:5 

这么多排序算法,都是已经很成熟了的,何必自找麻烦呢:)

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-14 11:24
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分: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
Rank: 6Rank: 6
来 自:武汉
等 级:侠之大者
威 望:7
帖 子:98
专家分:487
注 册:2010-1-22
收藏
得分:5 
排序方式有很多,冒泡,shell,堆,快速等等。但平均最快的是(nlogn)。
楼主你有o(n/2)的算法???
拿来看看!!!
2010-04-16 07:16
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:5 
楼住指明要用二分法吗

Discuz!  
好好学习  天天向上
2010-04-17 22:26
快速回复:帮忙设计算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011272 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved