Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN

Hasonló előadás


Az előadások a következő témára: "KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN"— Előadás másolata:

1 KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN
Szortírozás KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN

2 Tartalom: Beszúrás Összefészülés Sorbarendezés Átrendezés cserével
Legnagyobb és a következő elem

3 Beszúrás Adott egy lista n-1 dologról ( ezek lehetnek számok , nevek bármi ) Ezután az n-ik elemet pedig beakarjuk rakni a listába. Cél: listában szereplő dolgokkal összehasonlítva, a lista megfelelő helyére kell beszúrnunk. Hogyan lehetséges ez?

4 Példa:

5 Beszúrás Hátránya: Lineális kereséssel történik
Átlagosan n/2 összehasonlítást igényel Legrosszabb eset: n-1 összehasonlítás. > nem túl gazdaságos

6 Bináris rendezés Feltételezzük: n= 2k tehát a listánk megegyezik 2 valamely hatványával. Ötlet: Hasonlítsuk össze a kiválasztott elemet , a lista középső elemével. 2k-1 -1 elemmel kell összehsonlítani Következő: 2k-2-1 és így tovább. Tehát a k lépésszámot kifejezve: k = log2 n

7 Bináris Keresés példa:
Kezdő sorozat: { , , , , , , } Beszúrandó elem: 1 Egyszerűség kedvéért Feltételezzük: n = 2k 1. összehasonlítás: 1 < > n = = 3 ( enyni elem közé kell beszúrni az újat ) 2. összehasonlítás: 1 <  n = = 1 elemmel kell összehasonlítani 3. összehasonlítás: 1 < > Megvan az elem helye

8 Bináris Keresés K lépésszám n – el kifejezve. K = log2 n
Előző példában : n = 8al K = 3

9 Összehasonlítás Nem mindig gazdaságosabb mint az előző lineális keresés és beszúrás. 1000 elem esetén ( legroszabb eset) : Beszúrás: 1000 művelet Bináris keresés: 10 művelet. Informatikában: Gazdaságtalan, nem használjuk.

10 Feladat Itt kétserpenyős mérleg segítségével kell kiválasztani a külsőre teljesen egyforma pénzdarabok közül a könnyebb hamisat, 27 darab pénzérme van. Megoldás:

11 Feladat – Bináris rendezés
Ha n = 3k alakú pénzdarabok száma, akkor átlagosan k mérlegelésre van szükség, de átlagosan ennél kevesebb mérlegelés nem lehetséges. N = 27 pénz db 27 = 3k > k = log3 27 = 3

12 Amerikai Hadsereg - Feladat
2.1. Példa. Az amerikai hadseregnél állítólag úgy végzik a vérbajosok felkutatását, hogy az egész társaságtól vért vesznek, és a páciensek felének véréből egy részt összeöntve elvégzik a Wassermann-próbát. Amelyik félnél ez pozitív, ott a felezgetést tovább folytatják egész addig, amíg a betegeket ki nem szűrték. Ebben a seregben 1 beteg van. Hány összehasonlítás kell hogy kiszűrjük biztosan a beteget ? N = 1000 N = 2k ~ k = log2 1000

13 Összefésülés 2 db rendezett n hosszúságú lista
Szeretnénk összefésülni a 2 listát Kevés összehasonlítással X1…. Xn Y1…. Yn

14 Összefésülés 1. megoldás: Hátránya: x elemek sokszoros mozgatása

15 Javított megoldás: 3. tár bevezetése, elemek egyszeri mozgatása.

16 Sorbarendezés Gyakori feladat hogy n adott dolgot valamilyen szempont szerint sorba kell rendezni. Lehet: érték, súly, növekvő, csökkenő, Feltételezés: bármely 2 dolgot összehasonlítva, megtudjuk mondani melyik előzze meg a másikat.

17 Szomszédos elemek cseréje - buborék
Adott egy 5 elemű tömb: Hány cserével tudnánk az elemeit növekvő sorrendbe rendezni?

18 Szomszédos elemek cseréje

19 Átrendezés Cserékkel Adott egy K1, K2,….,kn sorozat. Melyeket növekvő sorrendbe kell átrendezni. 1. fázis k1 szám a helyére kerül. 1. csere k1 < kn , k1 < kn-1, k1> kn-2 és az új sorozatban függőleges vonallal vágjuk le amikkel már nem kell összehasonlítani. Kn-2 | K2K3…..Kn-3,K1|Kn-1,Kn

20 Példa 503,87, 512,61,908,170,897,275 1. fázis: 503 helyére kerül.
1. csere után :275 |, 87 , 512 , 61 , 908 , 170 ,897, 503 2. csere 275,87 | 503,61,908,170,897 | 512 3. csere 275, 87, 170 | 61,908,502 |897,512 4. csere után:275,87,170,61,|502|,908, 897, 512

21 Példa: 2. fázis: 275 helyretétele 275,87, 170,61,503,908,897,512
275,87, 170,61,503,908,897,512 1. csere után: 61 | 87,170,275 | …..

22 Feladat – Átrendezés cserékkel
Szomszédos elemek cseréjével: 8 lépésből. Átrendezés cserékkel:

23 Legnagyobb és következő elem
N dolog adott, melynek a sorrendjét nem ismerjük. Hány összehasonlítás kell hogy a legnagyobbat megtaláljuk? Tegyük fel n db ping pong versenyzőről van szó Lehető legkevesebb mérkőzést szeretnénk játszatni velük, hogy kiderüljön melyik a legjobb. (Erősorrend adott, és a jobb képességű nyer) 2 lehetőség:

24 Legnagyobb és a következő elem
Kihívásos verseny: Valaki kikiáltja magát bajnoknak, a bajnokot bárki kihívhatja. A Vesztes kiesik a versenyből, a győztest újra ki lehet hívni. Ha elfogytak a kihívók akkor megvan a bajnok. Kieséses bajnokság a közismert módon.

25 2. Legnagyobb elem Így a szükséges mérkőzések száma : (n-1) + (m-1)
De mennyi az m? Legfeljebb annyi ahány forduló volt, és a versenyben feleződnek: Minimum mérkőzés szám a 2. helyezethez: n+ (log2 n ) -2


Letölteni ppt "KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN"

Hasonló előadás


Google Hirdetések