Keresse meg a maximális számát a tömb elemeinek - verem túlcsordulás orosz
Használhatja a rendstatisztikák.
Rekurzívan osztani a subarray két részre. Vegyünk néhány subarray tartóelem (pivot), és felosztják subarray, hogy a hosszabb tartóelem és kisebb. Ha azok, akik be vannak kapcsolva a szükségesnél nagyobb mértékben, ismétlődő módon dolgozza fel a jobb oldalon, ha kevesebb - bal, ha a kívánt - A kérdésre a választ.
osztály algoritmus (partíció) ugyanaz, mint abban a quicksort (gyorskeresés) használunk, a különbség az, hogy csak az egyik ága van osztva.
A legjobb és az átlagos idő - O (n), a legrosszabb - O (n ^ 2)
A kezelési módszerek a ugyanaz, mint a gyorsrendezés - a helyes választás pivot. Kiválaszthatja véletlenszerűen.
Lásd még: k-me rendstatisztikák, a medián.
Az algoritmus az úgynevezett quickselect.
Válaszol november 10 '16 at 09:54
Megvan a megoldás:
Ha azt szeretnénk, hogy a legnagyobb számú n, akkor hozzon létre egy sorban. Ezután áthalad a gyűjtemény, ha a méret a sorban kevesebb, mint egy meghatározott szám, majd egyszerűen hozzáadni az aktuális elem. Ellenkező esetben, összevetjük a legkisebb elem a sorban. Ha az aktuális elem nagyobb, majd távolítsa el a minimális, és adjunk hozzá egy újat.
Válaszol november 10 '16 at 09:10
rájöttek, itt, aki tud és segít))
Válaszol november 24 '16 at 00:42
Azt kellett volna csinálni a zászló rendezve? mindig igaz, de ez sehol sem kell ellenőrizni - Grundy november 24 '16 12:45
Sokkal jobb, hogy a szabványos fajta, mint a mankó :) - gil9red november 24 '16 at 12:58