| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1153 人关注过本帖
标题:[求助]困扰我几天的问题~
只看楼主 加入收藏
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
 问题点数:0 回复次数:8 
[求助]困扰我几天的问题~
如何写一个算法实现在7次比较后,比较出5个数的大小。。
搜索更多相关主题的帖子: 困扰 
2007-10-29 13:06
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

二叉排序树


倚天照海花无数,流水高山心自知。
2007-10-29 15:28
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 
采用 树形选择排序 试试
2007-10-29 22:19
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
我怎么排都是最坏的情况下,多了一次。。。
哪个大侠帮我干掉这个问题。。
2007-10-31 12:01
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 
大家试试这样行不行:
先用两次比较得到两个有序对,比如AB,CD
//前两次
再将不等号同侧的两个树做比较,得到一个三元素有序对和一个两元素有序对
比如B<D,则有ABD,CD
又或者A>C,则有CAB,CD
诸如此类
//第三次
然后用两次比较将E加到三元素的有序对中形成一个四元素有序对和一个两元素有序对
即先用E与中间元素比如B做比较,小于则跟更小的A做比较,大于则跟更大的D做比较
比如得到ABDE,CD
//第四,五次
根据剩余两元素有序对的关系即CD可以得到在四元素对中其实只有三个可能位置加入C(两元素有序对中与四元素的不同的元素)用上面的方法进行两次比较就可以确定C的位置,从而得到整个有序序列
比如C<B AND C<A则有CABDE
// 第六,七次
2007-10-31 21:06
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
现在搞得差不多了...
用插入排序算法。。
比如a,b,c,d,e
分组进行比较a,b比较,c,d比较,e单独,假设结果是a>b,c>d 2次
进行分组,a,c一组,b,d,e一组
比较a和c,如果是c大,那么得到a<b<c和c>d 还有e 3次
现在将e插入到abc序列中,先和b比较,然后再和a或者c比较 5次
假设得到最坏情况的序列
a<b<e<c与c>d
然后先将d与b比较,然后再和a或者e比较,就可以将5个数比较出来了 7次




2007-10-31 21:42
shlg1229
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-9-24
收藏
得分:0 
2楼不是已经说了麻。二叉排序树就可以搞定了

个人意见,不代表官方看法
2007-11-02 12:33
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 

我用二叉排序树做的,还是多一次啊~

2007-11-03 17:35
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 

我用二叉排序树做的,还是多一次啊~

2007-11-03 18:02
快速回复:[求助]困扰我几天的问题~
数据加载中...
 
   



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

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