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

Kapcsolódó cikkek