一个简单问题,觉得书上写得有问题。
<P>是一个插入排序的小程序:</P><P>public void insertionsort(Object[] data) {</P>
<P> Comparable tmp;</P>
<P> int i, j;</P>
<P> for(i = 1; i < data.length; i++) {</P>
<P> tmp = (Comparable)data;</P>
<P> for(j = i; j > 0 && tmp.comparaTo(data) < 0; j--)</P>
<P> data = data;</P>
<P> data = tmp;</P>
<P> }</P>
<P>}</P>
<P>书上说移动次数有(n*n + 5n -6) / 4次。感觉有问题。</P> <P>如果说这样的一个步骤data = data;定义为一个移动的话;最坏的情况下应该是移动n*(n-1)/2次吧!</P> 不知道
页:
[1]