la seguente domanda è stata posta in una recente intervista Microsofttrovando mediana di 5 elementi
Dato un array non ordinato di dimensione 5. Quanti confronti minimo sono necessari per trovare la mediana? poi lo ha esteso per la dimensione n.
soluzione per 5 elementi secondo me è 6
1) use 3 comparisons to arrange elements in array such that a[1]<a[2] , a[4]<a[5] and a[1]<a[4]
a) compare a[1] and a[2] and swap if necessary
b) compare a[4] and a[5] and swap if necessary
c) compare a[1] and a[4].if a[4] is smaller than a[1] , then swap a[1] wid a[4] and a[2] wid a[5]
2)if a[3]>a[2].if a[2]<a[4] median value = min(a[3],a[4]) else median value=min(a[2],a[5])
3)if a[3]<a[2].if a[3]>a[4] median value = min(a[3],a[5]) else median value=min(a[2],a[4])
può questo essere esteso ad n elementi. in caso contrario, come è possibile trovare la mediana in n elementi in O (n) oltre a quickselect
Si potrebbe voler migliorare il markup di un po '. C'è una lista ordinata ('1.') che puoi usare e anche loro annidano. – Flexo
@akash: accetta le risposte alle altre domande (ovvero, fai clic sul "segno di spunta verde" se una risposta ha risposto alla tua domanda). – Claudiu
@Claudiu thanx. – akash