社区
数据结构与算法
帖子详情
二维数组排序问题
HarryPatton
2008-01-06 06:15:11
现有一个二维数据a[10,10],10行10列。 首先把每行的元素从小到大排序一下,接着把每列的元素从小到大排序一下。请问每行的元素还是从小到大排序的吗?如果是或者不是,请证明!
例子(这里由于版面原因,只列出3*3的数组)
4 2 5 2 4 5 2 4 5
9 8 10 ->排序行 8 9 10 ->排序列 3 4 5 -> 可以发现每行还是按照从小到大排序的。
3 4 5 3 4 5 8 9 10
...全文
114
6
打赏
收藏
二维数组排序问题
现有一个二维数据a[10,10],10行10列。 首先把每行的元素从小到大排序一下,接着把每列的元素从小到大排序一下。请问每行的元素还是从小到大排序的吗?如果是或者不是,请证明! 例子(这里由于版面原因,只列出3*3的数组) 4 2 5 2 4 5 2 4 5 9 8 10 ->排序行 8 9 10 ->排序列 3 4 5 -> 可以发现每行还是按照从小到大排序的。 3 4 5 3 4 5 8 9 10
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyg_wangyushi
2008-01-07
打赏
举报
回复
每次操作都使得结果成立,那么最后的结果必然成立阿
grellen
2008-01-06
打赏
举报
回复
每行的元素还是从小到大排序的
lyg_wangyushi
2008-01-06
打赏
举报
回复
假设数组看成二维矩阵,则:
a11,a12,a13,……a1n;
a21,a22,a23,……a2n;
…………………………
…………………………
an1,an2,an3,……ann;
则先按行排列后每行都为有序的,再按列排列,则每列的最小元素上升到第一行,
比方说我没考虑行已经排好的一,二列,显然第一列的最小元素<=a'11,(a'11
为排列好的矩阵的第一个元素,且a'11<=a'12;
再将第二列元素排列,由于第二列的数在最初都要比相应的第一列的数要大,所以
第而列的最小元素肯定要>=第一列的最小元素,比方说第一列的最小元素是ar1(
对应原来的矩阵),第二列最小的数十ak2,则如果k=r,则ar2>=ar1,得证,
如果k!=r,则ak2>=ak1>=ar1,也得证,……这样也就可以证明命题的正确性.
a0002
2008-01-06
打赏
举报
回复
当然是
HarryPatton
2008-01-06
打赏
举报
回复
-dlym, 你的反证法是正确的,也很明白,谢谢。
-lyg_wangyushi,不好意思,没看懂你的意思。
这个题目能给出正面的证明吗?
大王派我去巡山
2008-01-06
打赏
举报
回复
变换之后的矩阵每行中的元素还是从小到大排列的。证明如下:
用反证法,假设存在一处a[i, j] > a[i, j+1]。
因为列中元素是经过排序的,所以必定有:
a[1, j+1] <= a[2, j+1] <= …… <= a[i, j+1] < a[i, j]
也就是说,第j+1列中存在着 i 个比a[i, j]还要小的元素。
这就是说,在
行排序之后
列排序之前
,在原来的第 j 列中一定还有至少 i 个比a[i, j]还要小的数字(其实就是与a[1, j+1] ,a[2, j+1] , …… a[i, j+1]同行的这 i 个 ,它们比a[1, j+1] ,a[2, j+1] , …… a[i, j+1]还要小,当然更比a[i, j]小)。
这说明,如果对第 j 列排序的话,a[i, j]这个元素排不到第 i 行(因为同列中至少有i个元素是比它还要小的),这与[i, j]的下标明显是矛盾的。
从而假设不成立。
不知道说清楚了没,反正我看着是挺明白的:)
220个经典C语言源码
014 求解
二维数组
的最大/最小元素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素
排序
018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较...
VBA中的一维数组,
二维数组
排序
问题
【代码】VBA中的一维数组,
二维数组
排序
问题
。
C++
二维数组
sort
排序
问题
以往遇到行排列
问题
(按每行的字典序
排序
)的时候,总是使用结构体来进行
排序
,但是如何使用
二维数组
来达到同样的效果呢?实验内容:利用
二维数组
进行“三级
排序
”测试1:使用c++内置的普通型
二维数组
#include &...
二维数组
排序
java_java中的
二维数组
排序
是怎样的?实例分享
今天就来为大家介绍一些java中的基础知识,也就是java中的
二维数组
排序
是怎样的?一起来看看吧。首先我们需要知道的是,关于Java
二维数组
的
排序
方法之一是把
二维数组
放进一维数组然后试用版Arrays.sort();进行
排序
,...
二维数组
排序
(c++)
不采用辅助数组,直接对
二维数组
进行
排序
,
二维数组
直接
排序
的最大
问题
是当访问到某行的最后一列时(例如。然后直接对一维数组中的数据
排序
,完成后还原成
二维数组
输出就行了。法一的行间
排序
用了4层for循环,也就是...
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章