2017-03-26 4 views
0

En supposant que la longueur du tableau est n, le tableau est organisé par 1 et 0, du premier index à l'index t il y a seulement 1, de l'indice t + 1 jusqu'à n , seulement 0. exemple [1,1,1,1 ...., 1,0,0 .... 0,0,0]déterminé le temps d'exécution du tri d'insertion spécifique

l'algorithme pour le tri d'insertion:

InsertionSort(Input: integer n, array A) 
{ 
for j = 1 to n { 
newnum = A[j] 
i = j-1 
while (i > 0 and newnum < A[i]) 
{ 
A[i+1] = A[i] 
i = i-1 
} 
A[i+1] = newnum 
} 
} 

c'est ce que j'ai jusqu'à présent:

\ sum _1^n: \ left (c1 + \ sum _1^{nt} c2: \ right)

Répondre

0

l'intérieur en boucle déplace le premier 0 à droite de la liste des 1 s à gauche de la liste des 1 s. Il ya t1 s à sauter plus, et (n - t)0 pour se déplacer tout à fait. Par exemple, vous avez t * (n - t).

Vous pouvez ou ne pouvez pas ajouter un autre t pour le temps nécessaire pour atteindre le premier 0 dans la matrice.