数学建模社区-数学中国

标题: 一个简单问题,觉得书上写得有问题。 [打印本页]

作者: 火元素    时间: 2005-1-20 17:47
标题: 一个简单问题,觉得书上写得有问题。
<>是一个插入排序的小程序:</P>9 {' l; o7 b% ]) N1 h' T& I
<>public void insertionsort(Object[] data) {</P>
7 j6 E$ i9 k7 {9 G1 H& j<>    Comparable tmp;</P>+ E' `% t8 K/ @8 i3 w
<>    int i, j;</P>
+ M9 X8 K9 r+ Z" `; j8 N5 `<>    for(i = 1; i &lt; data.length; i++) {</P>
0 P% \( B$ f, Z<>       tmp = (Comparable)data;</P>
' B2 D5 S: |5 t<>       for(j = i;  j &gt; 0 &amp;&amp; tmp.comparaTo(data[j - 1]) &lt;  0; j--)</P>
* {& {" ]- v) {6 Z! S) i<>            data[j] = data[j -1];</P>2 R. f& C: }7 x. W
<>       data[j] = tmp;</P>
& P7 ~" a7 R, U% D$ X) T! D: o  g<>    }</P># _; x8 F( E/ B4 f4 @
<>}</P>  ^& E7 T& K6 C
<>书上说移动次数有(n*n + 5n -6) / 4次。感觉有问题。</P>
作者: ilikenba    时间: 2005-1-20 21:41
<>如果说这样的一个步骤data[j] = data[j -1];定义为一个移动的话;最坏的情况下应该是移动n*(n-1)/2次吧!</P>
作者: devil2k    时间: 2005-6-15 17:36
不知道




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5