noip的题目、10.将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序.A.
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/14 12:39:20
noip的题目、
10.将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序.
A. 6 B. 7 C. 8 D. 9 E. 10
1.将 2006 个人分成若干不相交的子集,每个子集至少有 3 个人,并且:
(1)在每个子集中,没有人认识该子集的所有人.
(2)同一子集的任何 3 个人中,至少有 2 个人互不认识.
(3)对同一子集中任何 2 个不相识的人,在该子集中恰好只有 1 个人认识这两个人. 则满足上述条件的子集最多能有 个?
我知道答案、有没有解析啊、、菜鸟路过、解析、
10.将 5 个数的序列排序,不论原先的顺序如何,最少都可以通过( )次比较,完成从小到大的排序.
A. 6 B. 7 C. 8 D. 9 E. 10
1.将 2006 个人分成若干不相交的子集,每个子集至少有 3 个人,并且:
(1)在每个子集中,没有人认识该子集的所有人.
(2)同一子集的任何 3 个人中,至少有 2 个人互不认识.
(3)对同一子集中任何 2 个不相识的人,在该子集中恰好只有 1 个人认识这两个人. 则满足上述条件的子集最多能有 个?
我知道答案、有没有解析啊、、菜鸟路过、解析、
5个数通过7次比较排序的方法如下.
5个数之间的大小关系构成的一个树形图T.T中的一个结点代表一个数,而一条边代表它所
关联的两个数的大小关系,T的根就是中位数.显然T中的一条边要由一次比赛来确定.在
下
面的图中,如果x大于y,则节点x在节点y的上方且x和y有一条边相连.另外,*表示一般的
数,o表示下一次即将进行比较的两个数.
第1步,先任取两个数比较,结果为:
*
|
* o o *
第2步,再取另外两个数比较,结果为:
o o
| |
* * *
第3步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:
*
/ \
o *
|
* o
第4步,按照上图比较其中两个标记为o的数,比较结果有两种情况:
o o *
\ / \ / \
* * * *
| / \
* o o
第5步,按照上图比较其中两个标记为o的数,比较结果有两种情况:
* *
| / \
* * o
/ \ |
o o o
| |
* *
第6步,按照上图比较其中两个标记为o的数,比较结果有三种情况:
* * *
| | / \
* * o o
| | \ /
* * *
| / \ |
* o o *
|
*
其中第一种情况已经排好序了
第7步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:
*
|
*
|
*
|
*
|
*
所以只需要7步比较就可以把5个数排好序
第二题
取其中一个满足要求的子集A来分析:
A={a1,a2,a3...an (n>=3)}
a1,a2,a3中至少有2个人互不认识 ,假设a1和a2不认识!
则:A中必只有一个人am认识a1和a2!
而A中除了am所有的人都不认识a1和a2!
再看看,认识am的人都有谁,显然a1和a2认识!
若还存在一个am1认识am,则:am1不认识a1,不认识a2
所以:A中必定有且只有一个am2认识am1和a1!
而上面我们说到A中除了am所有的人都不认识a1和a2!
所以我们假设的am1不成立!
换言之,认识am的人就只有a1和a2!
假设集合中的另一个元素am3,显然他不认识am,
那么显然根据(3),集合中必有一个人认识am,和am3
而我们说了认识am的人就只有a1和a2!
所以我们假设的am3不成立!
所以A中只能有3个元素!{a1,a2,am}
但是这样的话am就认识了集合中的所有人,不符合(1)
所以这样的子集是不存在的!
为使答案最大(1)考虑子集中有3或四人不满足条件(2)5个人时,设为ABCDE五人,分别用平面内五个点表示,若两点之间有线段相连,表示两人认识,否则表示不认识则,构造图形 (3)因此2006人中可以考虑其中2000人分成400个五人子集,其余6人一个所以最多401
OIERs团队为您解答.
5个数之间的大小关系构成的一个树形图T.T中的一个结点代表一个数,而一条边代表它所
关联的两个数的大小关系,T的根就是中位数.显然T中的一条边要由一次比赛来确定.在
下
面的图中,如果x大于y,则节点x在节点y的上方且x和y有一条边相连.另外,*表示一般的
数,o表示下一次即将进行比较的两个数.
第1步,先任取两个数比较,结果为:
*
|
* o o *
第2步,再取另外两个数比较,结果为:
o o
| |
* * *
第3步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:
*
/ \
o *
|
* o
第4步,按照上图比较其中两个标记为o的数,比较结果有两种情况:
o o *
\ / \ / \
* * * *
| / \
* o o
第5步,按照上图比较其中两个标记为o的数,比较结果有两种情况:
* *
| / \
* * o
/ \ |
o o o
| |
* *
第6步,按照上图比较其中两个标记为o的数,比较结果有三种情况:
* * *
| | / \
* * o o
| | \ /
* * *
| / \ |
* o o *
|
*
其中第一种情况已经排好序了
第7步,按照上图比较其中两个标记为o的数,比较结果只有一种情况:
*
|
*
|
*
|
*
|
*
所以只需要7步比较就可以把5个数排好序
第二题
取其中一个满足要求的子集A来分析:
A={a1,a2,a3...an (n>=3)}
a1,a2,a3中至少有2个人互不认识 ,假设a1和a2不认识!
则:A中必只有一个人am认识a1和a2!
而A中除了am所有的人都不认识a1和a2!
再看看,认识am的人都有谁,显然a1和a2认识!
若还存在一个am1认识am,则:am1不认识a1,不认识a2
所以:A中必定有且只有一个am2认识am1和a1!
而上面我们说到A中除了am所有的人都不认识a1和a2!
所以我们假设的am1不成立!
换言之,认识am的人就只有a1和a2!
假设集合中的另一个元素am3,显然他不认识am,
那么显然根据(3),集合中必有一个人认识am,和am3
而我们说了认识am的人就只有a1和a2!
所以我们假设的am3不成立!
所以A中只能有3个元素!{a1,a2,am}
但是这样的话am就认识了集合中的所有人,不符合(1)
所以这样的子集是不存在的!
为使答案最大(1)考虑子集中有3或四人不满足条件(2)5个人时,设为ABCDE五人,分别用平面内五个点表示,若两点之间有线段相连,表示两人认识,否则表示不认识则,构造图形 (3)因此2006人中可以考虑其中2000人分成400个五人子集,其余6人一个所以最多401
OIERs团队为您解答.
将七个数的序列排序,无论原先顺序如何,最少都可以通过 次比较,完成从小到大的排序?
将五个数的序列排序,按从小到大的顺序排?
四大洋的排序?从小到大
有关冒泡排序法的题用冒泡排序法从小到大排列数据{13,5,9,10,7,3},至少需要几趟排序才能完成?
C语言中 关于快速排序法的题目:关键码序列:(66,13,51,76,81,26,57,69,23)按照递增顺序排序,采
85763用冒泡排序法的比较顺序,从小到大
如何使用excel2007随机排序 例如输入将英语词典的顺序随机排序~
写出用二分排序法将序列:34,3,12,20,11,6,19从小到大排列的过程.
从键盘上输入10个数,C语言程序:用起泡法对这10个数排从小到大的顺序排序后输出.
VB题.将用户输入的三个数字按照从小到大获从大到小的顺序排序,排序方式可由用户设置.程序怎么写呢
下列排序方法中,最坏情况下比较次数最少的是()为什么 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆
C语言:输入5个数,用调用函数的方法,从小到大排序