社区
数据结构与算法
帖子详情
请教生成所有排列的算法,大家谁能证明一下
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按升序排序。
请教大侠一个证明
...全文
196
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.
11月25日学习总结.pdf
11月25日学习总结
离散数学期末复习包(含试卷)
离散数学复习包
【人工智能实验】A*
算法
求解8数码问题
1、画出A*
算法
求解N数码问题的流程图。根据A*
算法
的实验原理,;这样估价函数f(n)在g(n)一定的情况下,会或多或少的受距离估计值h(n)的制约,节点距目标点近,h值小,f值相对就小,能保证最短路的搜索向终点的方向进行,因此f是根据需要找到一条最小代价路径的观点来估算节点的。设计A*
算法
的流程图如图4.1.1所示,按照流程图编写伪代码,进而编写完整的程序。其中OPEN表保存所有已
生成
而未考察的节点,CLOSED表中记录已访问过的节点。
DFS
算法
解决迷宫路径
生成
上的应用
本课程设计的主要内容是迷宫问题,该问题主要涉及如下几个方面:①实现任意指定迷宫的大小,并能够随机产生可通和障碍方格;②实现任意指定迷宫游戏的起始位置与目标位置;③实现对迷宫地图的编辑功能,即游戏玩家可任意修改当前迷宫的可通和障碍方格;④实现用文件存储迷宫信息,从文件中读取迷宫信息,然后寻找路径;⑤实现对迷宫所有路径的求解;⑥实现对迷宫最短路径的求解; 在请求用户输入迷宫的尺寸(宽和高)、游戏起点坐标信息、游戏终点位置信息之后,基于这些基本信息,采用深度优先搜索(DFS,Depth-First-Search
二维码的
生成
细节和原理
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了
一下
二维码图片
生成
的相关细节,觉得这个玩意就是一个密码
算法
,在此写一这篇文章 ,揭露
一下
。供好学的人一同学习之。 关于QR Code Specification,可参看这
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章