Leszámoló rendezés Készítette: Várkonyi Tibor Zoltán VATNABI.ELTE

Slides:



Advertisements
Hasonló előadás
A sin függvény grafikonja
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Preferenciák, rendezések, reprezentálhatóság
Tananyag: konzultáció
Programozási feladatok
83. (1 pont) A felsorolt végeredmények, hatások közül karikázza be a mondatszerű leírással (szöveggel) megadott algoritmus eredményét jelölő betűt, ha.
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Programozási tételek, és „négyzetes” rendezések
Komplex függvények színes világa Lócsi Levente Eötvös József Collegium.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Értékesítési csatornák
Merevlemezek tegnap, ma, holnap
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
3. előadás (2005. március 1.) Utasítások, tömbök
Digitális képanalízis
Erősen összefüggő komponensek meghatározása
Gubicza József (GUJQAAI.ELTE)
Utórendezéses edényrendezés, RADIX „előre”
Programozási alapismeretek
Algoritmusok Az algoritmus fogalma:
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
Copyright, 1999 © Szlávi Péter Prioritási sor típuskonstrukció Szlávi Péter ELTE Informatika Szakmódszertani Csoport
Elemi alkalmazások fejlesztése I.
Számítástudomány alapjai
A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt.
Megszámlálás, kiválasztás alapalgoritmusok
Implementált képfeldolgozó algoritmusok
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
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 augusztus 25.
Adatszerkezetek 1. előadás
Algoritmusok.
Algoritmusok.
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
Brute Force algoritmus
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
Bevezetés a számítógépi grafikába 2. Paraméteres görbék Paraméteres görbe: 2D-ben: paraméter: általában: kikötések: legyen folytonos legyen folytonosan.
Jelfeldolgozás alapfogalmak
Programozás, programtervezés
Heltai Éva Eszter QG2CBR 1. előadásból.
INFOÉRA 2006 Nagypontosságú aritmetika I.
Hibajavító kódok.
Összeállította: Sashalmi Tibor
Feladatok a lista adatszerkezethez Összeállította: Gergely János.
Bucket sort avagy lineáris idejű rendezés. Pszeudo kód n hosszú L listára for i = 1..n If B[L[i]] != üres Akkor [L[i] Beszúrásos rendezéssel B[L[i]]-be.
Grafikus programozás Készítette: Csernok László
SVM, kernel módszerek Szabó Zoltán. Tartalomjegyzék Példák, szemlélet Definíciók: –margin, support vektor –pozitív definit, Gram-mtx, kernel –RKHS, feature.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Függvények aszimptotikus viselkedése: A Θ jelölés
(Bináris) Kupac (heap) adattípus
Programtervezés, programozás I. 2.5 tömbök,stringek
KNUTH-MORRIS-PRATT ALGORITMUS (KMP) KÉSZÍTETTE: ZELNIK MÁRTON.
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Számítógépes ismeretek
Programozási alapok.
a programegységek között
Informatikai gyakorlatok 11. évfolyam
Algoritmusok és Adatszerkezetek I.
IT hálózat biztonság Összeállította: Huszár István
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

Leszámoló rendezés Készítette: Várkonyi Tibor Zoltán VATNABI.ELTE mocman[kukac]inf[pont]elte[pont]hu

Szétosztva leszámoló rendezés Előnyei: Gyors Lineáris végrehajtási idejű Nem használ elágazásokat Hátrányai: Nem helyben rendező algoritmus Ezért nagy tárterületet igényel (2× vektor hossza+ vektor értékkészlete számú egész) Csak megszámlálható típusokkal működik (pl. int, char)* *: Egy jó hash függvénnyel adható az értékekhez int-re való leképezés

Struktogram J=1 N: A rendezendő elemek száma while J<=N SZ[K[J]]:=SZ[K[J]]+1 J:=J+1 U,V: Az elemek értékhatárai (min,max) K: vektor(1..N) – a rendezendő elemek S: vektor(1..N) – az eredmény vektora I:=U+1 SZ: vektor(U..V) – segédvektor az egyes elemek számának meghatározására while I<=V SZ[I]:=SZ[I]+SZ(I-1) I:=I+1 I,J: Ciklusváltozók J:=N while J>=1 I:=SZ[K[J]] S[I]:=K[J] SZ[K[J]]:=SZ[K[J]]-1 J:=J-1

Működés 1. Legyen egy tömbünk a rendezni kívánt elemekkel N=5 U=1 V=8 2 3 1 SZ: 1 1 3 2 1 2 1 3 4 1 4 4 4 4 1 5 4 2. Számláló ciklus 3. Index-átszámoló ciklus 4. Eredmény olvasás 1 ? 2 2 3 8 5. Algoritmus vége

Alkalmazás I. Példa: egy 1024×1024 méretű digitális kép pontjai 0 és 255 közötti értékeket vehetnek fel. Rendezzük az értékeket egy 220 méretű tömbben! A feladat C++ nyelven megírt megoldása a következő oldalon található

Alkalmazás II. int main(int argc, char *argv[]) { int n=1024*1024; int v=256; int k[n]; int s[n]; int sz[v]; int i, j; for (i=0;i<v;++i) sz[i]=0; for (i=0;i<n;++i) k[i]=int(rand())%v; for (j=0;j<n;++j) ++sz[k[j]]; for (i=1;i<v;++i) sz[i]+=sz[i-1]; for (j=n-1;j>=0;--j) { i=sz[k[j]]-1; s[i]=k[j]; sz[k[j]]=sz[k[j]]-1; } return 0;

Vége