Halmaz típus Értékhalmaz:

Hasonló dokumentumok
Algoritmizálás és adatmodellezés tanítása 6. előadás

Multihalmaz, intervallumhalmaz

Informatikai tehetséggondozás:

Informatikai tehetséggondozás:

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Struktúra nélküli adatszerkezetek

Algoritmizálás, adatmodellezés 1. előadás

Algoritmizálás és adatmodellezés tanítása 4. előadás

Adatszerkezetek I. 1. előadás

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Algoritmizálás és adatmodellezés tanítása 1. előadás

Készítette: Ernyei Kitti. Halmazok

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Algoritmusok és adatszerkezetek I. 1. előadás

Összetett programozási tételek

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Algoritmizálás, adatmodellezés 1. előadás

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

RENDEZÉSEK, TOVÁBBI PROGRAMOZÁSI TÉTELEK

Diszkrét matematika 2. estis képzés

Adatszerkezetek II. 10. előadás

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Algoritmusok Tervezése. Fuzzy rendszerek Dr. Bécsi Tamás

Matematika alapjai; Feladatok

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Diszkrét matematika 2. estis képzés

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Algoritmusok és adatszerkezetek I. 4. előadás

5. A kiterjesztési elv, nyelvi változók

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Metrikus terek, többváltozós függvények

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

A valós számok halmaza

Nagy Gábor compalg.inf.elte.hu/ nagy

Kombinatorikai algoritmusok

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

Leképezések. Leképezések tulajdonságai. Számosságok.

A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

1. előadás: Halmazelmélet, számfogalom, teljes

Csoporthatások. 1 Alapfogalmak 1 ALAPFOGALMAK. G csoport hatása az X halmazon egy olyan µ: G X X leképezés, amelyre teljesül

Informatikai tehetséggondozás:

Diszkrét matematika 1. középszint

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Diszkrét matematika I. gyakorlat

Amortizációs költségelemzés

Adatszerkezetek I. 4. előadás

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Egyszerű programozási tételek

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Számjegyes vagy radix rendezés

Algoritmizálás és adatmodellezés 2. előadás

KOVÁCS BÉLA, MATEMATIKA I.

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

A 2015/2016 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

KISLEXIKON : HALMAZOK, SZÁMHALMAZOK, PONTHALMAZOK. Tárgymutató: I.

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Algoritmusok és adatszerkezetek I. 3. előadás

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Diszkrét matematika I.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Diszkrét matematika 2. estis képzés

A C++ Standard Template Library rövid összefoglalás

Dr. Vincze Szilvia;

Számítási intelligencia

Függvények Megoldások

Diszkrét matematika I.

ELEMI PROGRAMOZÁSI TÉTELEK

Programozási tételek általánosítása 2. Szlávi Péter 2015

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Fák 3. előadás. (Horváth Gyula anyagai felhasználásával)

Felvételi tematika INFORMATIKA

Bevezetés az informatikába

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Egyszerű programozási tételek

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Nagy Gábor compalg.inf.elte.hu/ nagy

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Diszkrét matematika 2.C szakirány

Adatbázisban tárolt kollekciók

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Számláló rendezés. Példa

1. ábra. Számláló rendezés

Diszkrét matematika 2.C szakirány

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Hozzárendelés, lineáris függvény

Átírás:

Halmaz, multihalmaz

Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)} 4. Intervallumhalmaz Események: {[9-11],[16-22],[17-18],[20-25]} Zsakó László: Halmazok 2018. 03. 05. 14:25 2/51

Halmaz típus Értékhalmaz: Az alaphalmaz (amely az Elemtípus által van meghatározva) iteráltja ( mely elemek lehetnek benne a halmazban ). Az Elemtípus általában valamely véges diszkrét típus lehet, legtöbbször még az elemszámát is korlátozzák (<256). Ha nyelvi elemként nem létezik, akkor a megvalósításunkban lehet nagyobb elemszámú is. Nyelvi megvalósítás: STL Standard Template Library Zsakó László: Halmazok 2018. 03. 05. 14:25 3/51

Halmaz típus Műveletek metszet ( ) unió ( ) különbség ( ) komplemens eleme (egy elem benne van-e a halmazban) ( ) része (egyik halmaz részhalmaza-e a másiknak) ( ) Zsakó László: Halmazok 2018. 03. 05. 14:25 4/51

Halmaz típus Műveletek Halmazba (elem hozzá vétele egy halmazhoz): H:=H e} Halmazból (elem elhagyása egy halmazból): H:=H e} Beolvasás (halmaz beolvasása) Kiírás (halmaz kiírása), Üres (üres halmaz létrehozás eljárás), vagy Üres'Halmaztípus előre definiált konstans Üres? (logikai értékű függvény). Zsakó László: Halmazok 2018. 03. 05. 14:25 5/51

Halmaz típus ábrázolása Elemek felsorolása Halmaz(Elemtípus)=Rekord(db: Egész, elem: Tömb(1..MaxDb:Elemtípus)) A halmaz elemeinek felsorolásával adjuk meg a halmazt, annyi elemű tömbben, ahány elemű éppen a halmaz (pontosabban az első db darab elemében). Zsakó László: Halmazok 2018. 03. 05. 14:25 6/51

Halmaz típus ábrázolása Beolvasás(Változó a: Halmaz(Elemtípus)): Be: a.db [a halmaz elemszáma] Ciklus i=1-től a.db-ig Be: a.elem[i] Eljárás vége. Feltesszük, hogy a bemenetben minden elem egyszer van. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 7/51

Halmaz típus ábrázolása Kiírás(Konstans a: Halmaz(Elemtípus)): Ki: a.db [a halmaz elemszáma] Ciklus i=1-től a.db-ig Ki: a.elem[i] Eljárás vége. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 8/51

Halmaz típus ábrázolása Üres(Változó a: Halmaz(Elemtípus)): a.db:=0 Eljárás vége. Nem függ a halmaz elemszámától. Üres?(Konstans a: Halmaz(Elemtípus)): Üres?:=(a.db=0) Függvény vége. Nem függ a halmaz elemszámától. Zsakó László: Halmazok 2018. 03. 05. 14:25 9/51

Halmaz típus ábrázolása Halmazba(Változó a: Halmaz(Elemtípus), Konstans e: Elemtípus): i:=1 Ciklus amíg i a.db és a.elem[i] e i:=i+1 Ha i>a.db akkor a.db:=a.db+1; a.elem[a.db]:=e Eljárás vége. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 10/51

Halmaz típus ábrázolása Halmazból(Változó a: Halmaz(Elemtípus), Konstans e: Elemtípus): i:=1 Ciklus amíg i a.db és a.elem[i] e i:=i+1 Ha i a.db akkor a.elem[i]:=a.elem[a.db] a.db:=a.db-1 Eljárás vége. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 11/51

Halmaz típus ábrázolása eleme(konstans e:elemtípus,a:halmaz(elemtípus)): i:=1 Ciklus amíg i a.db és e a.elem[i] i:=i+1 eleme:=i a.db Függvény vége. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 12/51

Halmaz típus ábrázolása része(konstans a,b: Halmaz(Elemtípus)): i:=1 Ciklus amíg i a.db és eleme(a.elem[i],b) i:=i+1 része:=i>a.db Függvény vége. A ciklus az A halmaz elemszámaszor fut le, az eleme függvény pedig a B halmaz elemszámaszor, azaz a futási idő a két halmaz elemszámának szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 13/51

Halmaz típus ábrázolása unió(konstans a,b: Halmaz(Elemtípus)): c:=a Ciklus i=1-től b.db-ig Ha nem eleme(b.elem[i],a) akkor Halmazba(c,b.elem[i]) unió:=c Operátor vége. A külső ciklus a B halmaz elemszámaszor fut le, az eleme függvény pedig az A halmaz elemszámaszor, azaz a futási idő a két halmaz elemszámának szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 14/51

Halmaz típus ábrázolása metszet(konstans a,b: Halmaz(Elemtípus)): c.db:=0 Ciklus i=1-től a.db-ig Ha eleme(a.elem[i],b) akkor Halmazba(c,a.elem[i]) metszet:=c Operátor vége. A ciklus az A halmaz elemszámaszor fut le, az eleme pedig legrosszabb esetben a B halmaz elemszámaszor, azaz a futási idő a két halmaz elemszámának szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 15/51

Halmaz típus ábrázolása Megjegyzések: A megoldás alapvető problémája, hogy sehol sem ellenőrizhető, hogy a halmazban valóban csak a benne előfordulható elemek vannak. Az így ábrázolt halmazok elemtípusára semmilyen megkötést nem kell tennünk, hiszen egy tömbben bármilyen elem elhelyezhető. Arra sincs korlátozás, hogy mekkora lehet az alaphalmaz elemszáma, amiből a halmaz elemei származnak. Csak annyi a megkötésünk, hogy a konkrét halmazok elemszámát korlátozzuk. Zsakó László: Halmazok 2018. 03. 05. 14:25 16/51

Halmaz típus ábrázolása Bittérkép logikai vektor Halmaz(Elemtípus)=Tömb(Min'Elemtípus.. Max'Elemtípus:Logikai) A halmazt {igaz,hamis} elemekből álló vektorként értelmezzük, ahol indexként használjuk az elem típusú értéket. Az ilyen halmaz mindig rendezett halmaz. Zsakó László: Halmazok 2018. 03. 05. 14:25 17/51

Halmaz típus ábrázolása Beolvasás(Változó a: Halmaz(Elemtípus)): Be: N [a halmaz elemszáma] Üres(a) Ciklus i=1-től N-ig Be: e; a[e]:=igaz Eljárás vége. A ciklus a halmaz elemeinek számaszor fut le, azaz a futási idő a halmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 18/51

Halmaz típus ábrázolása Kiírás(Konstans a: Halmaz(Elemtípus)): Ciklus i=min'elemtípus-tól Max'Elemtípus-ig Ha a[i] akkor Ki: i Eljárás vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Mi lenne, ha tárolnánk a halmaz legkisebb és legnagyobb elemét is? Zsakó László: Halmazok 2018. 03. 05. 14:25 19/51

Halmaz típus ábrázolása Üres(Változó a: Halmaz(Elemtípus)): Ciklus i=min'elemtípus-tól Max'Elemtípus-ig a[i]:=hamis Eljárás vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 20/51

Halmaz típus ábrázolása Üres?(Konstans a: Halmaz(Elemtípus)): i:=min'elemtípus Ciklus amíg i Max'Elemtípus és nem a[i] i:=i+1 Üres?:=(i>Max'Elemtípus) Függvény vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 21/51

Halmaz típus ábrázolása Halmazba(Változó a: Halmaz(Elemtípus), Konstans e: Elemtípus): a[e]:=igaz Eljárás vége. Nem függ a halmaz elemszámától. Zsakó László: Halmazok 2018. 03. 05. 14:25 22/51

Halmaz típus ábrázolása Halmazból(Változó a: Halmaz(Elemtípus), Konstans e: Elemtípus): a[e]:=hamis Eljárás vége. Nem függ a halmaz elemszámától. Zsakó László: Halmazok 2018. 03. 05. 14:25 23/51

Halmaz típus ábrázolása eleme(konstans e:elemtípus,a:halmaz(elemtípus)): eleme:=a[e] Függvény vége. Nem függ a halmaz elemszámától. Zsakó László: Halmazok 2018. 03. 05. 14:25 24/51

Halmaz típus ábrázolása része(konstans a,b: Halmaz(Elemtípus)): i:=min'elemtípus Ciklus amíg i Max'Elemtípus és nem (a[i] és nem b[i]) i:=i+1 része:=i>max'elemtípus Függvény vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 25/51

Halmaz típus ábrázolása unió(konstans a,b: Halmaz(Elemtípus)): Ciklus i=min'elemtípus-tól Max'Elemtípus-ig c[i]:=a[i] vagy b[i] unió:=c Operátor vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 26/51

Halmaz típus ábrázolása metszet(konstans a,b: Halmaz(Elemtípus)): Ciklus i=min'elemtípus-tól Max'Elemtípus-ig c[i]:=a[i] és b[i] metszet:=c Operátor vége. A ciklus a halmaz lehetséges elemeinek számaszor fut le, azaz a futási idő a halmaz elemtípusának számosságával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 27/51

Halmaz típus ábrázolása Megjegyzések: Ennél az ábrázolásnál szigorú megkötés az, hogy a halmaz lehetséges elemei indexként használhatók legyenek! Emiatt így például nem definiálható síkbeli pontok halmaza, szavak halmaza, Ha azonban a halmaz egy véges sokaságból veszi fel az elemeit, akkor ezek egy tömbbe elhelyezhetők és a továbbiakban ezen tömb indexeivel ábrázolhatjuk a halmazt! Zsakó László: Halmazok 2018. 03. 05. 14:25 28/51

Halmaz típus ábrázolása STL set halmazosztály: Műveletei: üres? üres eleme Halmazba Halmazból elemszám min Zsakó László: Halmazok 2018. 03. 05. 14:25 29/51

Multihalmaz típus Értékhalmaz: Az alaphalmaz (amely az Elemtípus és egy darabszám által van meghatározva) iteráltja ( mely elem hányszoros multiplicitással van benne a multihalmazban ). Példa: Állatok: {(macska,4),(rigó,2),(galamb,3)} Zsakó László: Halmazok 2018. 03. 05. 14:25 30/51

Multihalmaz típus Műveletek metszet ( ) (értékek metszete, multiplicitások minimuma) unió ( ) (értékek uniója, multiplicitások összege) max (értékek uniója, multiplicitások maximuma), különbség ( ) (értékek különbsége, multiplicitások különbsége; nincs benne egy elem, ha a multiplicitások különbsége 1-nél kisebb) Zsakó László: Halmazok 2018. 03. 05. 14:25 31/51

Multihalmaz típus Műveletek eleme (egy elem benne van-e a multihalmazban) ( ) benne (egy elem legalább adott multiplicitással benne van-e a multihalmazban) multiplicitás (egy elem hányszoros multiplicitással van benne a multihalmazban) része (egyik multihalmaz részhalmaza-e a másiknak) ( ) mindközös? (a két multihalmaz az elemek multiplicitásától eltekintve azonos-e) Zsakó László: Halmazok 2018. 03. 05. 14:25 32/51

Multihalmaz típus Műveletek Multihalmazba (elem hozzávétele egy multihalmazhoz): H:=H e,1} Multihalmazból (elem elhagyása egy multihalmazból): H:=H e,1} Beolvasás (multihalmaz beolvasása) Kiírás (multihalmaz kiírása), Üres (üres multihalmaz létrehozás eljárás), vagy üres? (logikai értékű függvény). Zsakó László: Halmazok 2018. 03. 05. 14:25 33/51

Multihalmaz típus ábrázolása Elemek felsorolása Típus Halmazelem=Rekord(érték: Elemtípus, multi: Egész) Multihalmaz(Elemtípus)=Rekord(db: Egész, elem: Tömb(1..MaxDb:Halmazelem)) Egy felsorolásként adjuk meg a multihalmazt, annyi elemű tömbben, ahány elemű éppen a multihalmaz (pontosabban az első db darab elemében). Zsakó László: Halmazok 2018. 03. 05. 14:25 34/51

Multihalmaz típus Példa Típus Fajta=Rekord(érték: Szöveg, multi: Egész) Állomány=Multihalmaz(Fajta) Változó A: Állomány A:=Állomány(("nyúl",3),("kecske",5)) Zsakó László: Halmazok 2018. 03. 05. 14:25 35/51

Multihalmaz típus ábrázolása Beolvasás(Változó a: Multihalmaz(Elemtípus)): Be: a.db [a multihalmaz elemszáma] Ciklus i=1-től a.db-ig Be: a.elem[i].érték,a.elem[i].multi Eljárás vége. A ciklus a multihalmaz elemértékeinek számaszor fut le, azaz a futási idő a multihalmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 36/51

Multihalmaz típus ábrázolása Kiírás(Konstans a: Multihalmaz(Elemtípus)): Ki: a.db [a multihalmaz elemszáma] Ciklus i=1-től a.db-ig Ki: a.elem[i].érték,a.elem[i].multi Eljárás vége. A ciklus a multihalmaz elemértékeinek számaszor fut le, azaz a futási idő a multihalmaz elemszámával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 37/51

Multihalmaz típus ábrázolása Üres(Változó a: Multihalmaz(Elemtípus)): a.db:=0 Eljárás vége. Nem függ a multihalmaz elemszámától. üres?(konstans a: Multihalmaz(Elemtípus)): Üres?:=(a.db=0) Eljárás vége. Nem függ a multihalmaz elemszámától. Zsakó László: Halmazok 2018. 03. 05. 14:25 38/51

Multihalmaz típus ábrázolása Multihalmazba(Változó a: Multihalmaz(Elemtípus), Konstans e: Elemtípus): i:=1 Ciklus amíg i a.db és a.elem[i].érték e i:=i+1 Ha i a.db akkor a.elem[i].multi:=a.elem[i].multi+1 különben a.db:=a.db+1; a.elem[a.db].érték:=e a.elem[a.db].multi:=1 Eljárás vége. Arányos a multihalmaz elemszámával. Zsakó László: Halmazok 2018. 03. 05. 14:25 39/51

Multihalmaz típus ábrázolása Multihalmazból(Változó a: Multihalmaz(Elemtípus), Konstans e: Elemtípus): i:=1 Ciklus amíg i a.db és a.elem[i].érték e i:=i+1 Ha i a.db akkor Ha a.elem[i].multi=1 akkor a.elem[i]:=a.elem[a.db]; a.db:=a.db-1 különben a.elem[i].multi:=a.elem[i].multi-1 Eljárás vége. Arányos a multihalmaz elemszámával. Zsakó László: Halmazok 2018. 03. 05. 14:25 40/51

Multihalmaz típus ábrázolása eleme(konstans e: Elemtípus, a: Multihalmaz(Elemtípus)): i:=1 Ciklus amíg i a.db és e a.elem[i].érték i:=i+1 eleme:=i a.db Függvény vége. Arányos a multihalmaz elemszámával. Zsakó László: Halmazok 2018. 03. 05. 14:25 41/51

Multihalmaz típus ábrázolása multiplicitás(konstans e: Elemtípus, a: Multihalmaz(Elemtípus)): i:=1 Ciklus amíg i a.db és e a.elem[i].érték i:=i+1 Ha i a.db akkor multiplicitás:=a.elem[i].multi különben multiplicitás:=0 Függvény vége. Arányos a multihalmaz elemszámával. Zsakó László: Halmazok 2018. 03. 05. 14:25 42/51

Multihalmaz típus ábrázolása benne(konstans e: Halmazelem, a: Multihalmaz(Elemtípus)): i:=1 Ciklus amíg i a.db és e.érték a.elem[i].érték i:=i+1 benne:=i a.db és e.multi a.elem[i].multi Függvény vége. Arányos a multihalmaz elemszámával. Zsakó László: Halmazok 2018. 03. 05. 14:25 43/51

Multihalmaz típus ábrázolása része(konstans a,b: Multihalmaz(Elemtípus)) i:=1 Ciklus amíg i a.db és benne(a.elem[i],b) i:=i+1 része:=i>a.db Függvény vége. A külső ciklus az A, a benne műveletben levő belső ciklus a B multihalmaz elemszámaszor fut le, azaz a futási idő a két multihalmaz elemszáma szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 44/51

Multihalmaz típus ábrázolása unió(konstans a,b: Multihalmaz(Elemtípus)): c:=a Ciklus i=1-től b.db-ig j:=1 Ciklus amíg j a.db és b.elem[i].érték a.elem[j].érték j:=j+1... Zsakó László: Halmazok 2018. 03. 05. 14:25 45/51

Multihalmaz típus ábrázolása... Ha j>a.db akkor c.db:=c.db+1 c.elem[c.db]:=b.elem[i] különben c.elem[j].multi:=c.elem[j].multi+ b.elem[i].multi unió:=c Operátor vége. A külső ciklus az A, a belső ciklus a B multihalmaz elemszámaszor fut le, azaz a futási idő a két multihalmaz elemszáma szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 46/51

Multihalmaz típus ábrázolása max(konstans a,b: Multihalmaz(Elemtípus)): c:=a Ciklus i=1-től b.db-ig j:=1 Ciklus amíg j a.db és b.elem[i].érték a.elem[j].érték j:=j+1... Zsakó László: Halmazok 2018. 03. 05. 14:25 47/51

Multihalmaz típus ábrázolása... Ha j>a.db akkor c.db:=c.db+1 c.elem[c.db]:=b.elem[i] különben ha b.elem[i].multi>c.elem[j].multi akkor c.elem[j].multi:=b.elem[i].multi max:=c Operátor vége. A külső ciklus az A, a belső ciklus a B multihalmaz elemszámaszor fut le, azaz a futási idő a két multihalmaz elemszáma szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 48/51

Multihalmaz típus ábrázolása metszet(konstans a,b: Multihalmaz(Elemtípus)): c.db:=0 Ciklus i=1-tõl a.db-ig j:=1 Ciklus amíg j b.db és b.elem[j].érték a.elem[i].érték j:=j+1... Zsakó László: Halmazok 2018. 03. 05. 14:25 49/51

Multihalmaz típus ábrázolása... Ha j b.db akkor c.db:=c.db+1; c.elem[c.db]:=a.elem[i] Ha b.elem[j].multi<a.elem[i].multi akkor c.elem[c.db].multi:=b.elem[j].multi metszet:=c Operátor vége. A külső ciklus az A, a belső ciklus a B multihalmaz elemszámaszor fut le, azaz a futási idő a két multihalmaz elemszáma szorzatával arányos. Zsakó László: Halmazok 2018. 03. 05. 14:25 50/51

Halmaz, multihalmaz