9
Edényrendezés - RADIX Edényrendezés - RADIX „vissza” - bináris „vissza” - bináris számokra számokra Algoritmusok és Algoritmusok és adatszerkezetek 2. adatszerkezetek 2. Újvári Zsuzsanna Újvári Zsuzsanna

Edényrendezés - RADIX „vissza” - bináris számokra

  • Upload
    braima

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Edényrendezés - RADIX „vissza” - bináris számokra. Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna. Bevezető 1. Az edényrendezések bináris számokon dolgozó változatait RADIX rendezéseknek nevezzük. - PowerPoint PPT Presentation

Citation preview

Page 1: Edényrendezés - RADIX „vissza” - bináris számokra

Edényrendezés - RADIX „vissza” - Edényrendezés - RADIX „vissza” - bináris számokrabináris számokra

Algoritmusok és adatszerkezetek 2.Algoritmusok és adatszerkezetek 2.Újvári ZsuzsannaÚjvári Zsuzsanna

Page 2: Edényrendezés - RADIX „vissza” - bináris számokra

Bevezető 1.Bevezető 1. Az edényrendezések bináris számokon dolgozó

változatait RADIX rendezéseknek nevezzük. A RADIX vissza rendezésnél abból indulunk ki, hogy minden fázisban két edényre van szükségünk (A és B), és

ezek együttes mérete mindig megegyezik az eredeti inputsorozat méretével. Tehát, ha az eredeti sorozatunk

egy tömb, vegyünk fel egy ugyanakkora méretű segédtömböt, és az első fázisban pakoljuk át ide az elemeket, majd a második fázisban vissza az eredeti tömbbe, és így tovább, tehát a páratlan fázisokban a

segéd-, a páros fázisokban pedig az eredeti tömböt töltjük fel.

Page 3: Edényrendezés - RADIX „vissza” - bináris számokra

Bevezető 2.Bevezető 2. A pakolás történjen a következőképpen: 1. Olvassuk be az adatokat egymás után a kezdő tömbből, és amelyiknek az

utolsó jegye 0, azt rakjuk a segédtömb elejére egymás után, amelyiknek az utolsó jegye 1, azt pedig rakjuk a tömb végére egymás elé.

2. Ezután a segédtömbben a beolvasás szerinti sorrendben foglalnak helyet a 0-ra végződő számok, majd ezt követik a beolvasás szerinti fordított sorrendben az 1-re végződőek. A tömb két részének határindexét tároljuk el.

3. Ismételjük meg az előbbi lépéseket az utolsótól visszafelé az összes többi számjegyre, azzal a módszerrel, hogy a tömbből elölről olvasunk be, amíg el nem értük az előbb eltárolt indexet, majd ezután a végétől visszafelé olvasunk be a határig.

4. Miután az első számjegyre is lefuttattuk a rendezést, az eredményt helyezzük el a másik tömbben úgy, hogy az utoljára eltárolt indexig előrefelé olvasunk be a tömbből, majd ezt követően a végétől visszafelé olvasunk be a határig.

Page 4: Edényrendezés - RADIX „vissza” - bináris számokra

AA BB

011011111111101101010010110110001001100100

Page 5: Edényrendezés - RADIX „vissza” - bináris számokra

AA BB

010111111111101011010100111100000011101000 010111

111111101011

010100111100

000011101000

Page 6: Edényrendezés - RADIX „vissza” - bináris számokra

BB AA

001100111100110000001111111111110011000011 001100

111100001111

110000110011

111111000011

Page 7: Edényrendezés - RADIX „vissza” - bináris számokra

AA BB

110000110101000101001010111010001111111111 110000

110101111010

000101001010

111111001111

Page 8: Edényrendezés - RADIX „vissza” - bináris számokra

BB AA

001001010010011011111111110110101101100100 111111

110110101101

001001010010

100100011011

Eredményként egy rendezett sorozatot kapunk a következő műveletigénnyel: T(n) = O(d*|S|).

Page 9: Edényrendezés - RADIX „vissza” - bináris számokra

Köszönöm a figyelmet

2011.02.25.