社区
数据结构与算法
帖子详情
请教生成所有排列的算法,大家谁能证明一下
ksharp2008
2008-04-09 07:39:10
就是离散数学及其应用里的那种按字典序生成排列,谁能证明一下啊。
具体描述是,对A1,A2,...AN 寻找第一个Aj<A(j+1) 和A(j+1)>A(j+2)>A(j+3)>....A(n).寻找J+1到N中最小的大于Aj的元素,然后交换后对A(j+1)....An按升序排序。
请教大侠一个证明
...全文
168
4
打赏
收藏
请教生成所有排列的算法,大家谁能证明一下
就是离散数学及其应用里的那种按字典序生成排列,谁能证明一下啊。 具体描述是,对A1,A2,...AN 寻找第一个AjA(j+2)>A(j+3)>....A(n).寻找J+1到N中最小的大于Aj的元素,然后交换后对A(j+1)....An按升序排序。 请教大侠一个证明
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ksharp2008
2008-04-10
打赏
举报
回复
思维很紧密
ksharp2008
2008-04-10
打赏
举报
回复
又见大王,大王哪儿高就啊。真的很强啊
大王派我去巡山
2008-04-10
打赏
举报
回复
假设n个元素a(1)<a(2)<……<a(n),
最开始的序列一定是从a(1)a(2)……a(n)这个最小序列开始的(一定注意这一点,否则不能保证算法的正确性),
到最后一个序列也是最大的a(n)a(n-1)……a(2)a(1)结束。
按照你说的算法执行过程,任取中间两个相邻序列S[i]和S[i+1]
需要证明两点才能保证这个过程是升序排列同时有没有遗漏:
1.后面这个序列大于前面的相邻序列,即S[i+1]>S[i];
2.后面的这个序列S[i+1]是“刚刚好大于”S[i]的序列。换句话说,S[i+1]是所有大于S[i]的序列中最小的那个。
关于命题1:
和整数类似,我们把序列看成从左往右由高位到低位,高位上被换上了一个更大的数字,显然新序列更大一些。
关于命题2:
假设还存在一个序列S[k]使得S[i]<S[k]<S[i+1],由于S[i]和S[i+1]中的1~j-1位完全相同,
所以S[k]的前1~j-1位必定也是和S[i]中相同的,只需研究j~n这些低位数字就可以比较出三个序列的大小。
将S[i]中的第j位数字记作a[i,j],S[i+1]中的第j位数字记作a[i+1,j],S[k]中的第j位数字记作a[k,j],
由于1~j-1位完全相同,且S[i]<S[k]<S[i+1],显然有a[i,j]<=a[k,j]<=a[i+1,j]。
又因为a[i+1,j]是“J+1到N中最小的大于Aj的元素”,那显然只能有a[k,j]=a[i+1,j]。
于是比较S[k]与S[i+1]两个序列大小的问题,又转换成比较j+1~n这些低位数字的大小问题。
S[k]与S[i+1]前1~j位都相同,由于S[i+1]后面的元素全都升序排列,所以只能有S[i+1]<=S[k]。
这就得出了矛盾,因而前面的假设不可能成立,命题得证。
medie2005
2008-04-10
打赏
举报
回复
应该是很显然的事实啊,不需要证明吧。
实质上就是进位规则,只是我们平时用10进制用惯了,不太容易看出来而已。
数的进位规则:
1):找最低的可增大的位k,增加之。
2):将比k位低的位全清零。
比如:
0
99,显然,红色的0是最低的可增加的位,增加之,变为
1
99;然后,将十位和个位清零,得到了100.
asp.net知识库
随机
排列
算法
理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否...
DFS
算法
解决迷宫路径
生成
上的应用
⑤实现对迷宫所有路径的求解;⑥实现对迷宫最短路径的求解; 在请求用户输入迷宫的尺寸(宽和高)、游戏起点坐标信息、游戏终点位置信息之后,基于这些基本信息,采用深度优先搜索(DFS,Depth-First-Search
java获取数组穷举_
请教
一下
两个数组各取一个元素
生成
新的数组的穷举
算法
设计?...
题目描述比如第一组数是:A B C D E 第二组是:1 2 3 4 5 6两组数不一定是对称的,第一组数量比第二组可能多也可能少也可能相同,输出结果举例如下:A1 B2 C3 D4 E5 (只组合不排序),要求输出所有可能的结果求大佬...
二维码的
生成
细节和原理
二维码又称QR Code,QR全称Quick Response...这两天学习了
一下
二维码图片
生成
的相关细节,觉得这个玩意就是一个密码
算法
,在此写一这篇文章 ,揭露
一下
。供好学的人一同学习之。 关于QR Code Specification,可参看这
python
生成
一笔画_Python系列—一笔画问题的
算法
研究
原标题:Python系列—一笔画问题的
算法
研究鸣谢VSRC感谢业界小伙伴——奶权,投稿精品原创类文章。VSRC欢迎精品原创类文章投稿,优秀文章一旦采纳发布,将有好礼相送,我们已为您准备好了丰富的奖品!(活动最终解释...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章