20
Betűk rendezésétől Betűk rendezésétől egy valós számokat egy valós számokat tartalmazó vektor tartalmazó vektor rendezéséig rendezéséig Kiss László Kiss László főiskolai docens főiskolai docens OE RKK MKI OE RKK MKI 2010. augusztus 2010. augusztus 25. 25.

Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

  • Upload
    may

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig. Kiss László főiskolai docens OE RKK MKI 2010. augusztus 25. Mottó. Minden mindennel összefügg, minden algoritmus, és minden függvény. Ki hányadik is lett?. - PowerPoint PPT Presentation

Citation preview

Page 1: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Betűk rendezésétől egy valós Betűk rendezésétől egy valós számokat tartalmazó vektor számokat tartalmazó vektor

rendezéséig rendezéséig

Kiss LászlóKiss Lászlófőiskolai docensfőiskolai docensOE RKK MKIOE RKK MKI2010. augusztus 25.2010. augusztus 25.

Page 2: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

MottóMottó

Minden mindennel összefügg, Minden mindennel összefügg, minden algoritmus, és minden minden algoritmus, és minden függvény.függvény.

Page 3: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Ki hányadik is lett?Ki hányadik is lett?

Az amerikai és a szovjet Az amerikai és a szovjet autóversenyző résztvettek egy autóversenyző résztvettek egy autóversenyen.autóversenyen.

A szovjet versenyző második lett, de A szovjet versenyző második lett, de az amerikai az utolsó előtti helyen az amerikai az utolsó előtti helyen végzett.végzett.

Page 4: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Logikai feladatokLogikai feladatok1.1. Adott négyzetrács alakban 9 pont. Kössük össze őket 4 egyenes Adott négyzetrács alakban 9 pont. Kössük össze őket 4 egyenes

vonallal a ceruza felemelése nélkül. vonallal a ceruza felemelése nélkül. 2.2. Négy hajóról tudjuk, hogy egymástól egyenlő távolságra Négy hajóról tudjuk, hogy egymástól egyenlő távolságra

vannak. Az egyik vitorlás, a másik halászhajó, a harmadik vannak. Az egyik vitorlás, a másik halászhajó, a harmadik utasszállító. Milyen a negyedik? utasszállító. Milyen a negyedik?

3.3. Egy nagy átmérőjű, egyenes, rövid csőbe, aminek mindkét Egy nagy átmérőjű, egyenes, rövid csőbe, aminek mindkét vége nyitott, a két végén belenézett két macska, és nem látták vége nyitott, a két végén belenézett két macska, és nem látták egymást. Hogyan történhetett ez? egymást. Hogyan történhetett ez?

4.4. Egy cowboy Pénteken belovagolt a városba, hogy a marháit Egy cowboy Pénteken belovagolt a városba, hogy a marháit eladja. Még aznap sikeresen eladta mindet. Bement a kocsmába eladja. Még aznap sikeresen eladta mindet. Bement a kocsmába és két nap két éjjel ivott, majd azonnal hazatért. Mégis és két nap két éjjel ivott, majd azonnal hazatért. Mégis Pénteken ment haza. Hogyan volt ez lehetséges? Pénteken ment haza. Hogyan volt ez lehetséges?

5.5. A sivatagban, déli 12 órakor egy légionáriust elkapnak a A sivatagban, déli 12 órakor egy légionáriust elkapnak a beduinok. Halállal kell lakolnia, ha egy sapkából a 10 fekete és beduinok. Halállal kell lakolnia, ha egy sapkából a 10 fekete és 1 fehér kő közül csukott szemmel nem tudja kivenni a fehéret. 1 fehér kő közül csukott szemmel nem tudja kivenni a fehéret. Ő a feladatot mosolyogva oldja meg. Hogyan csinálta? Ő a feladatot mosolyogva oldja meg. Hogyan csinálta?

Page 5: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

BetűrendezésBetűrendezés(szöveg feldolgozás)(szöveg feldolgozás)

A szöveg (S) hossza (Len (S)).A szöveg (S) hossza (Len (S)).

Az I. karakter leszedése (C=Mid(S,I,1)).Az I. karakter leszedése (C=Mid(S,I,1)).

Az index meghatározása (K=Asc(C)-64).Az index meghatározása (K=Asc(C)-64).

Az számlálóvektor K. eleménekAz számlálóvektor K. elemének ( kezdetben 0) növelése (V(K)=V(K)+1). ( kezdetben 0) növelése (V(K)=V(K)+1).

Page 6: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

BetűrendezésBetűrendezés((számlálószámlálóvektor feldolgozás)vektor feldolgozás)

Az számlálóvektor elemei száma: 26,Az számlálóvektor elemei száma: 26, indexe: K. indexe: K.

A karakterek előállítása (C=CHR(K+64)).A karakterek előállítása (C=CHR(K+64)).A karakterek összefűzése az előfordulásuk A karakterek összefűzése az előfordulásuk

száma szerint (V(K), S=S+C).száma szerint (V(K), S=S+C).

Page 7: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egész számok rendezése Egész számok rendezése (számok feldolgozása)(számok feldolgozása)

J az egész számok egyike, MIN a J az egész számok egyike, MIN a legkisebb, MAX a legnagyobb érték.legkisebb, MAX a legnagyobb érték.

Az index meghatározása (K=J-(MIN-1).Az index meghatározása (K=J-(MIN-1).Az számlálóvektor megfelelő elemének Az számlálóvektor megfelelő elemének

növelése (V(K)=V(K)+1).növelése (V(K)=V(K)+1).

Page 8: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egész számok rendezése Egész számok rendezése ((számlálószámlálóvektor feldolgozás)vektor feldolgozás)

A számlálóvektor elemei száma:A számlálóvektor elemei száma: MAX-(MIN-1), indexe: K. MAX-(MIN-1), indexe: K.

Egy szám előállítása (J=K+(MIN-1)).Egy szám előállítása (J=K+(MIN-1)).Kiírás az előfordulások száma szerint Kiírás az előfordulások száma szerint

(V(K)).(V(K)).

Page 9: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Betűk és egész számok Betűk és egész számok rendezéserendezése

Ctrl + Shift+PCtrl + Shift+P

Ctrl + Shift+RCtrl + Shift+R

Page 10: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Betűk és egész számok Betűk és egész számok rendezéserendezése

Mindkét módszer a leszámláló Mindkét módszer a leszámláló rendezés elvéből indul ki.rendezés elvéből indul ki.

A leszámláló rendezés alapötlete:A leszámláló rendezés alapötlete:

Harold. H. Seward, 1954Harold. H. Seward, 1954

(Knuth szerint)(Knuth szerint)

Page 11: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok rendezéseszámok rendezése

(alapötlet)(alapötlet)

X a valós számok egyike, MIN a legkisebb, X a valós számok egyike, MIN a legkisebb, MAX a legnagyobb érték.MAX a legnagyobb érték.

DX=(X-MIN)/(MAX-MIN), 0<=DX<=1.DX=(X-MIN)/(MAX-MIN), 0<=DX<=1.K=1+Int(DX*(M-1)), 1<=K<=M.K=1+Int(DX*(M-1)), 1<=K<=M.A számokat M osztályba soroltuk.A számokat M osztályba soroltuk.Az osztályok létszáma közel azonos.Az osztályok létszáma közel azonos.

Page 12: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok rendezéseszámok rendezése

(létszám és kezdőcím)(létszám és kezdőcím)

Az osztályok létszámának meghatározása.Az osztályok létszámának meghatározása.K=1+Int((X-MIN)/(MAX-MIN)*(M-1)) K=1+Int((X-MIN)/(MAX-MIN)*(M-1))

1<=K<=M. 1<=K<=M. Számlálás (V(K)=V(K)+1).Számlálás (V(K)=V(K)+1).Osztályok kezdőcímének (indexének) meghatározása.Osztályok kezdőcímének (indexének) meghatározása.(KC(1)=1, KC(I)=KC(I-1)+V(I-1), 2<=I<=M).(KC(1)=1, KC(I)=KC(I-1)+V(I-1), 2<=I<=M).

Page 13: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok rendezéseszámok rendezése

(áthelyezés és rendezés)(áthelyezés és rendezés)

A számokhoz az osztályindex újra előállítása.A számokhoz az osztályindex újra előállítása.

Az adott indexű osztály kezdőcíme alapján a Az adott indexű osztály kezdőcíme alapján a számok új vektorba helyezése a kezdőcím számok új vektorba helyezése a kezdőcím vektor megfelelő elemének növelésével.vektor megfelelő elemének növelésével.

Az osztályok rendezése.Az osztályok rendezése.

Page 14: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Rendezések Rendezések összehasonlítása egész összehasonlítása egész

számokonszámokon

Ctrl + Shift+HCtrl + Shift+H

Page 15: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású Egyenletes eloszlású valós számok rendezésevalós számok rendezése

Ctrl + Shift+RCtrl + Shift+R

Page 16: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok mediánjaszámok mediánja

(osztály meghatározás)(osztály meghatározás)

A medián, illetve páros elemszám esetén a A medián, illetve páros elemszám esetén a szükséges két érték közül a nagyobbik szükséges két érték közül a nagyobbik rendezettségi sorszáma: L=1+Int(N/2).rendezettségi sorszáma: L=1+Int(N/2).

Az osztályok létszámának meghatározása.Az osztályok létszámának meghatározása.

Osztályok kezdőcímének tárolás nélküli Osztályok kezdőcímének tárolás nélküli kiszámítása, és egyúttal az L. elem osztályának kiszámítása, és egyúttal az L. elem osztályának meghatározása.meghatározása.

Page 17: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok mediánjaszámok mediánja

(osztályhatár elemek)(osztályhatár elemek)

Ha L egyenlő egy osztály kezdőcímével. Ha L egyenlő egy osztály kezdőcímével. A keresett érték az osztály minimuma. Páros A keresett érték az osztály minimuma. Páros

esetben a másik érték a megelőző osztály esetben a másik érték a megelőző osztály maximuma.maximuma.

Számok újrafeldolgozása, és a minimum, illetve Számok újrafeldolgozása, és a minimum, illetve – ha szükséges – a maximum és átlag – ha szükséges – a maximum és átlag meghatározása.meghatározása.

Page 18: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású valós Egyenletes eloszlású valós számok mediánjaszámok mediánja

(belső elemek)(belső elemek)

Ha L kisebb, mint egy osztály kezdőcíme. Ha L kisebb, mint egy osztály kezdőcíme. A keresett érték, illetve páros esetben a kisebbik A keresett érték, illetve páros esetben a kisebbik

érték is a megelőző osztályban van.érték is a megelőző osztályban van.Számok újrafeldolgozása, az adott osztályba Számok újrafeldolgozása, az adott osztályba

sorolt elemek új vektorban elhelyezése.sorolt elemek új vektorban elhelyezése.Részben rendezés, és a medián meghatározása.Részben rendezés, és a medián meghatározása.

Page 19: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Egyenletes eloszlású Egyenletes eloszlású valós számok mediánjavalós számok mediánja

Ctrl + Shift+MCtrl + Shift+M

Page 20: Betűk rendezésétől egy valós számokat tartalmazó vektor rendezéséig

Köszönöm a figyelmet!Köszönöm a figyelmet!

Kiss LászlóKiss László

főiskolai docensfőiskolai docens

OE RKK MKIOE RKK MKI

2010. augusztus 25.2010. augusztus 25.