社区
数据结构与算法
帖子详情
二维数组排序问题
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
...全文
104
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
作业
写回复
配置赞助广告
用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语言源码
220个经典C语言源码 从简单到难的220来个经典C程序 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维数组统计学生成绩 013 用
二维数组
实现矩阵转置 014 求解
二维数组
的最大/最小元素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素
排序
018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的指针 026 阿拉伯数字转换为罗马数字 027 字符替换 028 从键盘读入实数 029 字符行排版 030 字符排列 031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 。。。。 。。。。
VBA中的一维数组,
二维数组
排序
问题
【代码】VBA中的一维数组,
二维数组
排序
问题
。
C++
二维数组
sort
排序
问题
以往遇到行排列
问题
(按每行的字典序
排序
)的时候,总是使用结构体来进行
排序
,但是如何使用
二维数组
来达到同样的效果呢?实验内容:利用
二维数组
进行“三级
排序
”测试1:使用c++内置的普通型
二维数组
#include <algorithm> #include <iostream> using namespace std; bool cmp(int a[], int b[]) { ...
二维数组
排序
java_java中的
二维数组
排序
是怎样的?实例分享
近些年随着科学技术水平的不断进步与发展,越来越多的人开始意识到java编程语言的重要性。也开始主动的学习这门语言。今天就来为大家介绍一些java中的基础知识,也就是java中的
二维数组
排序
是怎样的?一起来看看吧。首先我们需要知道的是,关于Java
二维数组
的
排序
方法之一是把
二维数组
放进一维数组然后试用版Arrays.sort();进行
排序
,
排序
结束后再把一维数组内容重新写入
二维数组
内。为了方便,在这...
二维数组
排序
(c++)
那有没有办法能减少for循环的层数呢?那就用空间换时间吧,申请一个辅助一维数组,存储该
二维数组
,也就是。不采用辅助数组,直接对
二维数组
进行
排序
,
二维数组
直接
排序
的最大
问题
是当访问到某行的最后一列时(例如。然后直接对一维数组中的数据
排序
,完成后还原成
二维数组
输出就行了。法一的行间
排序
用了4层for循环,也就是时间复杂度为。),下个元素也就是下一行的第一个元素的行下标为。第n行的元素必定
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章