Ordinamento delle sequenze "k-tonic"


12

Spero che qualcuno conosca un riferimento a questo, quindi non devo leggere la letteratura ...

Considera una sequenza di numeri . Pensa alla sequenza come intervalli n - 1 [ x 1 , x 2 ] , [ x 2 , x 3 ] , , [ x n - 1 , x n ] . Chiaramente, la sequenza originale è bitonica se qualsiasi punto sulla linea reale si accoltella al massimo a 2 intervalli. Faremo riferimento a una sequenza in cui un punto pugnala alla maggior parte degli intervalli di k come kx1,,xnn1[x1,x2],[x2,x3],,[xn1,xn]kk-idiotico . Visivamente, se si disegna il grafico della sequenza (ovvero, si collegano i punti in ordine), allora quanto sopra corrisponde alla condizione che nessuna linea orizzontale intersechi il grafico più di k volte.pi=(i,xi)k

Non è troppo duro (ma non troppo facile, né) per vedere che sequenze -idiotic possono essere ordinati in O ( n log k ) tempo, che è chiaramente ottimale.kO(nlogk)

Domanda: questo risultato dovrebbe essere noto. Conosci qualche riferimento appropriato?

Risposte:


10

Ecco un riferimento all'algoritmo di ordinamento di Levcopoulos-Petersson, ma uno diverso un po 'più vecchio di quello nella risposta di Andreas:

Levcopoulos, Christos; Petersson, Ola (1989), "Heapsort - Adattato per file preordinati", WADS '89: Atti del seminario su algoritmi e strutture dati, Appunti delle lezioni in Informatica, 382, ​​Londra, Regno Unito: Springer-Verlag, pp. 499– 509, doi: 10.1007 / 3-540-51542-9_41.

O(logki)kixikkikO(nlogk)


2
Freddo. L'arbitro Wikipedia conquista il firewall chiuso ...
Sariel Har-Peled,

1
@ SarielHar-Peled: sono d'accordo.
Andreas Björklund,

6

Dare un'occhiata a

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.8017 .

Una misura del disordine secondo il documento sono le Successioni monotone mescolate (SMS, pagina 7 in basso) che è più di quanto tu abbia chiesto.

La carta

"Ordinamento di sequenze monotone mescolate" di Christos Levcopoulos e Ola Petersson

http://www.springerlink.com/content/79551g82q1p856n1/

fornisce un algoritmo con il tempo di esecuzione ottimale rispetto a quella misura che è ciò che cerchi.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.