你可以run一下这个程序,对任何n都适用

来源: 说了就走 2009-07-30 20:47:50 [] [博客] [旧帖] [给我悄悄话] 本文已被阅读: 次 (357 bytes)
回答: 我觉得我解释不清楚说了就走2009-07-30 11:56:00
判断是否排好可以用反函数g(k),是O(1)。程序中已经实现了,不需要n为特殊的数。

谢谢你帮我解释,这个程序就是这么做的。很容易增加一些临时变量数组验证每个k最多只被挪动一次。

“要检查 x 的 loop 里有没有比 x 更小的位置”
这是不对的。只要x没排好,它就是loop里最小的位置。换句话说,如果x不是loop里最小位置(y是最小位置),那么x已经在排y的时候排好了。

所有跟帖: 

你一直在假设a[k]=k。没有这个假设你的算法不成立 -康MM- 给 康MM 发送悄悄话 康MM 的博客首页 (0 bytes) () 07/31/2009 postreply 07:14:51

那么请问你的假设是什么? -说了就走- 给 说了就走 发送悄悄话 说了就走 的博客首页 (216 bytes) () 07/31/2009 postreply 18:16:46

还是问冬瓜太郎吧,他说可以就可以 -康MM- 给 康MM 发送悄悄话 康MM 的博客首页 (177 bytes) () 08/02/2009 postreply 10:25:52

你说得很有道理 -说了就走- 给 说了就走 发送悄悄话 说了就走 的博客首页 (2675 bytes) () 08/02/2009 postreply 13:50:02

我还是觉得我们在说两件不同的事 -康MM- 给 康MM 发送悄悄话 康MM 的博客首页 (0 bytes) () 08/06/2009 postreply 17:49:24

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”