Böl ve fethetmenin klasik bir uygulaması, aşağıdaki sorunu çözmektir:
Bir diziye , farklı, karşılaştırılabilir öğelerden oluşan verildiğinde, dizideki ters çevirme çiftlerinin sayısını sayın: çiftler , ve .
Buna bir yaklaşım Bir Birleştirme Sıralaması yapmak, ancak aynı zamanda alt problemlerdeki ters çevirme çiftlerinin sayısını saymaktır. Birleştirme adımı sırasında, (iki) alt soruna yayılan ters çift sayısını sayar ve alt sorunların sayısını ekleriz.
Bu iyi olsa ve bir zaman algoritması verir, bu dizi bozar.
Dizinin salt okunur olduğu konusunda ek kısıtlamamız varsa, bir kopyasını oluşturabilir ve kopyayla ilgilenebiliriz veya her ikisini de kullanan uzayı.
Mevcut soru, çalışma süresini etkilemeden alanı daha iyi denemektir. yani
Salt okunur bir dizide çalışan ve alt doğrusal (yani ) boşluk kullanan ters çift sayısını saymak için bir zaman algoritması var mı?
Tek bir maliyet RAM modeli varsayalım ve elemanlar almak aralarında boşluk ve karşılaştırma olan .
Bir referans yapacak, ancak bir açıklama daha iyi olacak :-)
Web'de arama yapmayı denedim, ancak bunun için olumlu / olumsuz bir cevap bulamadım. Sanırım bu sadece bir merak.