Bir listenin sıralaması, komşuları karşılaştırmadan doğrulanabilir mi?


14

Bir n öğesinin listesi, her öğeyi komşusu ile karşılaştırarak sıralanmış olarak doğrulanabilir. Uygulamamda, her öğeyi komşusu ile karşılaştıramayacağım: bunun yerine, karşılaştırmalar bazen uzak öğeler arasında olacaktır. Listenin üçten fazla öğe içerdiği ve karşılaştırmanın desteklenen tek işlem olduğu göz önüne alındığında, listenin sıralandığını kanıtlayacak bir karşılaştırma ağı var mı, ancak en az bir doğrudan komşudan komşuya eksik mi var? karşılaştırması?

Resmi olarak, bir dizi ei elemanı için , e j > e k , e j = e k veya e j < e k olup olmadığını bildiğim bir dizi indeks çiftim (j,k) . Karşılaştırma kümesinde eksik olan bir çift ( l , l + 1 ) vardır. Öyleyse dizinin sıralandığını kanıtlamak mümkün mü?ej>ekej=ekej<ek(l,l+1)


1
Bu sayfayı daha sonra kimsenin bir listeyi hiçbir şey karşılaştırmadan sıralandığını doğrulayıp doğrulayamayacağınız sorusu ile karşılaşması durumunda not; Yalnızca girdilere bazı sınırlar koyabilir ve / veya girdilerin şekli hakkında bir şeyler bilirseniz; (örn. sayı tabanı sıralaması).
HammerN'Songs

O oluyor durumlarda kullanılan karşılaştırmalar sayısını optimize olasılığı, ancak var olmayan sıralanmış.
Biriktirme

1
@Accumulation Aslında böyle bir olasılık var mı? Bu tür bir programı almak ve programı n-1 karşılaştırmaları yapmaya zorlayan n uzunluğunun çekişmeli bir listesini hazırlamak önemsiz olmalıdır. Ayrıca bkz . QuickSort için bir Katil Düşmanı , bu fikri hızlı skoru asimptotik analizinin kötü kısmına zorlamak için daha da ileri götürür.
Daniel Wagner

@DanielWagner Evet, bu tür bir optimizasyon belirli bir uygulamanın beklenen girdisine göre yapılmalıdır.
Biriktirme

Muhtemelen mümkün değil. Ancak lütfen açıklığa kavuşturun: sadece (j, j + 1) formunun karşılaştırmasını bildiğinizi mi söylediniz, genel değil (j, k)? Örneğin, iki endeks öğesinin (j, j + 3) karşılaştırılmasını hiç biliyor muydunuz?
Ron

Yanıtlar:


34

(i,i+1)

1,2,,i1,i,i+1,i+2,,n1,2,,i1,i+1,i,i+2,,n

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.