Geometriai algoritmusok. pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése
|
|
- Tibor Endre Orbán
- 7 évvel ezelőtt
- Látták:
Átírás
1 Geometriai algoritmusok pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése
2 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Pont class pont { double x,y ; pont(double ix,iy) { x=ix ; y=iy ; } } pont p=new pont(5.2,7.47) ; pontok konvex kombinációja pont, ha azaz p 2 p 1 p 3
3 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Szakasz p 2 p i p 1 Két különböző p 1 és p 2 pont esetén p 1 p 2 szakasz p 1 és p 2 konvex kombinációinak halmaza. p 1 és p 2 pontokat a p 1 p 2 szakasz végpontjainak nevezzük. Néha p 1 p 2 sorrendje is számít, ilyenkor p 1 p 2. irányított szakaszról beszélünk. class szakasz { pont p1,p2 ; szakasz(pont ip1,ip2) { p1=ip1; p2=ip2 ; } } szaksz s=new szakasz(p15,p26) ; p 1 p 2 p 1 p 2
4 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Forgásirány 1. Adott két irányított szakasz: p 0 p 1 és p 0 p 2. A közös p 0 végpont körül p 0 p 1 -hez viszonyítva p 0 p 2 jobbra ( ), vagy balra fordul? p 1 p 2 p 0 2. Adott p 0 p 1 és p 1 p 2 szakasz. Ha folyamatosan bejárjuk p 0 p 1 -et majd p 1 p 2 -t, balra fordulunk-e a p 1 pontban? p 2 p 1 p 0
5 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése 1. Forgásirány Ha p 1 p 2 pozitív, p 1 jobbra fordul p 2 -höz képest. y y p 1 p 2 p 1 p 2 p 0 O p 0 =O x x
6 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése 2. Forgásirány y p 1 p 2 p 0 O x f>0 balra fordul f<0 jobbra fordul f=0 egy egyenesbe esik (nem fordul)
7 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Forgásirány y s1.p2=s2.p1 y s1 s2 s2.p2 p 1 s1.p1 p 2 p 0 O y x x s1 s2.p2 s2 s1.p1=s2.p1 forgasirany(pont p0,p1,p2) { f=(p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y) ; if (f>0) return 1 ; if (f<0) retun -1; retun 0; } x
8 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Forgásirány példa: y x y p 1 =(9,14) x y p 2 =(20,10) p 0 =(3,5) x y x forgasirany(pont p0,p1,p2) { f=(p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y) ; if (f>0) return 1 ; // balra fordul if (f<0) retun -1; // jobbra fordul retun 0; }
9 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Adott pontok egy {p 1,...,p n } halmaza. p 1 p 2 p 4 p 15 p 16 p 3 p 2 p 14 p 7 p 8 p 5 p 13 p 9 p 10 p 12 p 11
10 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése {p 1,...,p n } ponthalmaz polárszög szerinti rendezése 1. Válasszuk ki a legkisebb x koordinátájú pontot, ha több ilyen van, akkor válasszuk ezek közül a legkisebb y koordinátájút és jelüljük q-val. p 1 p 2 p 4 p 15 p 16 p 3 p 2 p 14 p 7 p 8 p 5 p 13 p 9 p 10 p 12 p 11
11 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése {p 1,...,p n } ponthalmaz polárszög szerinti rendezése 1. Válasszuk ki a legkisebb x koordinátájú pontot, ha több ilyen van, akkor válasszuk ezek közül a legkisebb y koordinátájút és jelüljük q-val. 2. Húzzunk félegyeneseket a q-ból minden ponthoz. Rendezzük az egyeneseket a q ponton áthaladó, x-tengellyel párhuzamos egyenessel bezárt (előjeles) szög alapján. φ(q,p) 3. Rendezzük a pontokat úgy, hogy q legyen az első és p előbb legyen mint r ha: φ(q,p)<φ(q,r) vagy φ(q,p)=φ(q,r) és p közelebb van q-hoz mint r. p 1 q p 7 φ p 3 p 8 p 9 p 13 p 2 p 2 p 10 p 5 p 4 p11 p 16 p 12 p 15 p 14 p<r forgasirany(q,p,r)==1 O(nlogn)
12 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Pontok összekötése zárt nem metsző poligonná Adott {p 1,...,p n } ponthalmaz. Kössük össze p 1,...,p n pontokat zárt, nem metsző poligonná! p 1 p 2 p 4 p 15 p 16 p 3 p 2 p 14 p 7 p 8 p 5 p 13 p 9 p 10 p 12 p 11
13 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. A ponthalmaz polárszög szerinti rendezése. 2. Kössük össze a pontokat a rendezés szerinti sorrendben. q
14 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Konvex burok meghatározása Adott {p 1,...,p n } ponthalmaz. Határozzuk meg p 1,...,p n ponthalmaz konvex burkát! Definíció: Egy egyszerű (nem metsző) poligon konvex, ha bármely két belső pontját összekötő szakasz minden pontja a poligon belsejében, vagy határán van. Definíció: Egy P={p 1,...,p n } ponthalmaz konvex burka az a legszűkebb Q konvex poligon, amely a ponthalmaz minden pontját tartalmazza.
15 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése q
16 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q q
17 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
18 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
19 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
20 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
21 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
22 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
23 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
24 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
25 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás 1. a ponthalmaz polárszög szerinti rendezése. q q
26 Megoldás pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése
27 Megoldás pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése
28 Megoldás pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése 0
29 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás Konvex burok meghatározása 1. A ponthalmaz polárszög szerinti rendezése. 2. A pontokat sorra vesszük a rendezés sorrendjében. 3. Ha a verem tetején lévő pont, az aktuális és a következő pont forgásiránya O(nlogn) + O(n) + O(n) 1 vagy 0: az aktuális pontot betesszük a verembe -1: kivesszük a pontot a veremből és visza 3.-hoz 4. Az utolsó pont után mégegyszer vesszük q-t, majd megállunk. A veremben lévő pontok a konvex burok pontjai. = O(nlogn)
30 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Legtávolabbi pontpár meghatározása Adjunk hatékony algoritmust a két legtávolabbi pont meghatározására! O(n 2 )
31 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Legtávolabbi pontpár meghatározása Adjunk hatékony algoritmust a két legtávolabbi pont meghatározására! q O(n 2 ) O(nlogn)
32 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
33 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
34 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
35 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
36 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
37 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
38 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
39 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
40 q Megoldás
41 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q O(n)
42 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás q
43 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás Legtávolabbi pontpár meghatározása 1. A konvex burok meghatározása. O(nlogn) 2. A 2 egyenes végiggörgetése és közben maximumkeresés az érintett pontok távolságnégyzetein. + O(n) O(nlogn)
44 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Legközelebbi pontpár meghatározása Nézzük végig az összes pontpárt és válasszuk ki hol lesz a távolság (négyzete) minimális? q O(n 2 )
45 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás Oroszlán keresése a sivatagban
46 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
47 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
48 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Minden rekurzív hívásnál átadásra kerülnek a P ponthalmaz egy Q részhalmazának pontjai egy az x koordináták szerint monoton növekvően rendezett X tömbben (azonos x koordinátájú pontok esetén a kisebb y koordinátájú jön előbb), valamint egy az y koordináták szerint monoton növekvően rendezett Y tömbben (azonos y koordinátájú pontok esetén a kisebb x koordinátájú jön előbb). Hogy ne kelljen minden egyes rekurzív hívás előtt rendezésre pazarolni az időt, ezért már az algoritmus elején előállítjuk P pontjainak az x, illetve az y koordináták szerint monoton növekvően rendezett tömbjeit, így a rekurzív hívások előtt csak kiválogatásokat kell végezni.
49 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Egy adott rekurzív lépés a következő. Ha Q < 3, akkor páronkénti vizsgálattal határozzuk meg a minimális távolságot. Természetesen az érdekes eset, amikor Q > 3, ilyenkor az alábbiak szerint járunk el: Először egy olyan e függőleges egyenest keresünk, amely Q-t két olyan QL és QR részre osztja, amelyekre: QL = Q /2 és QR = Q /2 QL minden pontja az egyenes bal oldalán van, vagy illeszkedik az egyenesre QL minden pontja az egyenes jobb oldalán van, vagy illeszkedik az egyenesre
50 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Válogassuk szét a pontokat az X tömbből az XL és XR tömbökbe: XL-be kerüljenek a QL-beli pontok, XR-be pedig a QR-beliek. Természetesen az XL és XR tömbök is rendezettek az x koordináták szerint. Válogassuk szét a pontokat az Y tömbből is az YL és YR tömbökbe a fentiekhez hasonlóan! Ezután keressük meg rekurzívan a QL és QR halmazokban a legközelebbi pontpárt. Az első hívás bemenete az XL és YL tömbök, míg a második hívásé az XR és YR tömbök. Legyen QL-ben, illetve QR-ben a minimális távolság δl, illetve δr, és legyen δ = min(δl, δr) Most a legközelebbi pontpár: vagy az egyik rekurzív hívás által megtalált δ távolságú páros, vagy egy olyan pár, amelynek egyik pontja QL-ben, a másik QR-ben van.
51 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése A következő lépés annak meghatározása, hogy ez utóbbi párok között van-e olyan, amelyben a pontok távolsága kisebb, mint δ. Vegyük észre, hogy ha van ilyen pár, akkor annak egyik pontja sem lehet δ-nál nagyobb távolságra e-től. Válogassuk ki az Y tömbből azokat a pontokat, amelyek e-től mért távolsága legfeljebb δ. Jelölje a kapott tömböt Y'. Természetesen az Y' tömb is rendezett az y koordináták szerint.
52 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Most minden egyes p Y' ponthoz keressük meg Y' azon pontjait, melyek p-től mért távolsága legfeljebb δ, és amelyek a p-n átmenő vízszintes egyenesen vagy az fölött vannak. Legfeljebb 7 ilyen pont jöhet számításba: Ha i < j és Y'[i] valamint Y'[j] távolsága legfeljebb δ, akkor ez a két pont az ábrán látható δ 2δ oldalú téglalapban van. Mivel a téglalapban lévő 8 kis négyzet egyikében sem lehet egynél több pont Y'-ből, az állítás adódik.
53 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Így minden p Y' pontra elég kiszámolni p távolságát az Y'- ben utána következő 7 ponttól. Az így kapott távolságok minimuma legyen δ'. Ha δ' < δ, akkor Q-ban a minimális távolság δ', egyébként a minimális távolság δ. Mivel az előrendezések is megvalósíthatók O(n log n) költséggel, ezért az algoritmus teljes költsége szintén O(n log n).
54 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése TAVKERES(P,X,Y) { if P 3 then return NAIV(P) Legyen PL, P P /2c darab legkisebb x koordinátájú eleme. Legyenek XL,YL a PL beli pontok rendezett halmazai. Legyen PR P többi eleme Legyenek XR,YR a PR beli pontok rendezett halmazai. Legyen x0 PL-t és PR szeparáló x koordináta dl := TAVKERES(PL,XL,YL) dr := TAVKERES(PR,XR,YR) d := min(dl,dr) Yd := azon P-beli pontok y koordináta szerint rendezett halmaza, amelyek x-koordinátájára x0 x d (max. 7 pont) Ha van Yd-ben d-nél közelebbi pár, akkor azt adjuk vissza, egyébként d-t a megfelelo pontpárral }
55 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Szakaszok metszése A p 1 p 2 szakasz átfog egy egyenest, ha p 1 az egyenes egyik, p 2 az egyenes másik oldalára esik. e p 2 e p 2 p 1 p 1 A p 1 p 2 szakasz egyenese e, ha p 1 e p 2 e p 1 p 2 e
56 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Szakaszok metszése Két szakasz pontosan akkor metszi egymást, ha az alábbi feltételek egyike teljesül: mindkét szakasz átfogja a másik egyenesét? az egyik szakasz valamelyik végpontja illeszkedik a másik szakaszra e 34? p 4 p 4 p 1 p 2 e 12 p 1 p 2 p 3 p 3
57 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Szakaszok metszése e 2 e 2 s2.p1 s2 s1.p1 s1 s2.p2 s1.p2 e 1 s2.p1 s2 s2.p2 s1 s1.p2 e 1 s1.p1 szmetsz(szakasz s1,s2) { int e=forgasirany(s1.p1,s1.p2,s2.p1) ; int f=forgasirany(s1.p1,s1.p2,s2.p2) ; int g=forgasirany(s2.p1,s2.p2,s1.p1) ; int h=forgasirany(s2.p1,s2.p2,s1.p2) ; if (e*f<0 and g*h<0) return true ;... // és ha rajta van is return true!? } return false ;
58 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Pont helyzetének meghatározása Adott a síkon egy zárt, nem-metsző poligon a csúcsainak {p 1,...,p n } órajárással ellentétes felsorolásával és adott egy q pont. Eldöntendo a q pontnak a poligonhoz viszonyított helyzete, azaz, hogy a belsejéhez tartozik-e, az oldalán van-e, avagy külső pont?
59 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás k q q O(n)
60 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás k q q k O(n) O(n)
61 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Feladat Metsző szakaszpárok keresése A feladatban adott n darab szakasz {s 1,...,s n } (a szakaszok az s i.bal és s i.jobb végpontjaik által adottak) és meg kell határozni vane-e közöttük kettő olyan, amely metszi egymást. Egyszerűsítő feltételek: 1. Egyik bemeneti szakasz sem függőleges. 2. Nincs három olyan szakasz, amelyek egy pontban metszenék egymást
62 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás Seprő egyenes Seprés során egy képzeletbeli seprő egyenest mozgatunk a geometriai elemek halmazán. Azt a dimenziót, amelyben a seprő egyenes halad, idődimenziónak hívjuk. Jelen esetben a seprő egyenes az y-tengellyel párhuzamos egyenes, az idodimenzió az x-koordináta lesz.
63 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
64 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
65 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
66 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
67 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
68 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
69 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
70 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
71 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
72 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
73 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
74 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
75 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
76 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Megoldás
77 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Legyen s 1 és s 2 szakasz és x R s 1 összehasonlítható s 2 -vel x-nél, ha x s 1.bal.x x s 1.jobb.x és s 1 s 2.bal.x x s 2.jobb.x s 2 Az s 1 szakasz felette van az s 2 szakasznak, (s 1 >x s 2 ), ha s 1 összehasonlítható s 2 -vel x-nél és az x seperő egyenesnek s 1 -el vett metszete magasabban van, mint s 2 -vel vett metszete.
78 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Ha x1 < x2-re s 1 > s 2 és s 2 > s 1, akkor az s 1 és s 2 szakasz metszi egymást x1 és x2 között. Továbbá, ha x1 és x2 a seprő egyenes két egymást követő megállási helye, akkor x1-ben (után) a két szakasz egymást követő lesz a rendezésben. x1 x2 s 2 s 1
79 pont helyzete, konvex burok, ponthalmaz legközelebbi és legtávolabbi pontpárja, metsző szakaszpárok keresése Tehát elegendő ellenőrizni minden szakasz berakásakor, hogy a rendezésben őt megelőző, és követő szakasz metszi-e a berakottat, és kivételkor ellenőrizni, hogy a kivett szakaszt megeloző és követő szakaszok metszik-e egymást. Használjunk Rhalmaz adattípust! (pl. piros-fekete fa) MSZPkeres() { minden p-re az R beli sorrendben if (p==s.bal) { betesz(s) ; if (szmetsz(kovet(s),s) or szmetsz(eloz(s),s)) return True ; } if (p=s.jobb) { s if szmetsz(kovet(s),eloz(s)) return True ; kivesz(s) ; } } kovet(s) kovet(s) s eloz(s) O(nlogn)
80 Példa x s 1 s 2 s 3 s4 s 5 s 8 s 7 s 6 s 1
81 Példa x s 1 s 2 s 2 s 3 s4 s 5 s 8 s 7 s 6 s 1
82 Példa x s 1 s 2 s 2 s 3 s4 s 5 s 8 s 3 s 7 s 6 s 1
83 Példa x s 3 s 2 s 1 s 2 s 3 s4 s 5 s 8 s 7 s 6 s 1
84 Példa x s 3 s 2 s 1 s 2 s 3 s4 s 5 s 8 s 5 s 7 s 6 s 1
85 Példa x s 3 s 2 s 1 s 2 s 3 s4 s 5 s 8 s 4 s 5 s 7 s 6 s 1
86 Példa x s 3 s 2 s 1 s 2 s 3 s4 s 5 s 7 s 8 s 6 s 4 s 5 s 6 s 1
87 Példa x s 3 s 2 s 6 s 2 s 3 s4 s 5 s 8 s 1 s 4 s 5 s 7 s 6 s 1
88 Példa x s 3 s 2 s 6 s 2 s 3 s4 s 5 s 7 s 8 s 1 s 4 s 7 s 5 s 6 s 1
89 Példa x s 3 s 2 s 6 s 5 s 3 s4 s 5 s 8 s 1 s 4 s7 s 2 s 7 s 6 s 1
90 Példa x s 7 s 2 s 6 s 5 s 3 s4 s 5 s 8 s 1 s 4 s 2 s 7 s 6 s 1
91 Példa x s 7 s 2 s 6 s 5 s 3 s4 s 5 s 8 s 4 s 2 s 7 s 6 s 1
92 Példa x s 7 s 2 s 6 s 5 s 3 s4 s 5 s 8 s 4 s 2 s 7 s 6 s 1
93 GEOMETRIAI ADATSZERKEZETEK 4-es fa, 8-as fa, k-d fa
94
95
96
97 Mintaillesztés
98 Egy Σ ábécé feletti szavakon a Σ * (Σ elemeiből képzett véges sorozatok) elemeit értjük. Az X Σ * szó hossza a sorozat elemeinek a száma, jele X. A továbbiakban feltételezzük, hogy a szavakat tömbökkel ábrázoljuk, tehát az X szó i-edik elemére az X[i] értékkel (xi) hivatkozunk. Az X = x1,...,xm, és Y = y1,...,yn szavak konkatenációja: XY = x1,...,xm,y1,...,yn.
99 Az U szó kezdőszelete, vagy prefixe V-nek, jele U V, ha W Σ *, amelyre UW = V. Az U szó végződése, vagy szuffixe V-nek, jele U V, ha W Σ *, amelyre WU = V. Az X Σ * szó első i betűjéből álló prefixére az Xi = X[1...i] (x1... xi) jelölést használjuk.
100 Mintaillesztési probléma Bemenet: A,S Σ *, A a szöveg, S a minta. Kimenet: A legkisebb (vagy másik problémában az összes) olyan i, amelyre A[i+1..i+m] = S, ahol m = S a minta hossza. A kimeneti feltétel esetén azt mondjuk, hogy az S minta i eltolással illeszkedik az A-ra.
101 A feladatnak nyilvánvalóan megoldását adja a következő algoritmus, amely az összes lehetséges eltolás végigpróbálásán alapul: vegignez(a,s) { } n=hossz(a) ; m=hossz(s) ; for (i=0;i<n-m;i++) { } egyezik=true ; for (j=0;j<m and egyezik;j++) { } if (A[i+j]!=S[j-1]) { } egyezik=false ; exit ; if (egyezik) return i-1; return -1 ;
102 b l a b d o r t d o d o r t m u n d d o r t m
103 b l a b d o r t d o d o r t m u n d d o r t m
104 b l a b d o r t d o d o r t m u n d d o r t m
105 b l a b d o r t d o d o r t m u n d d o r t m
106 b l a b d o r t d o d o r t m u n d d o r t m
107 b l a b d o r t d o d o r t m u n d d o r t m
108 b l a b d o r t d o d o r t m u n d d o r t m
109 b l a b d o r t d o d o r t m u n d d o r t m
110 b l a b d o r t d o d o r t m u n d d o r t m
111 b l a b d o r t d o d o r t m u n d d o r t m
112 b l a b d o r t d o d o r t m u n d d o r t m
113 b l a b d o r t d o d o r t m u n d d o r t m
114 b l a b d o r t d o d o r t m u n d d o r t m
115 b l a b d o r t d o d o r t m u n d d o r t m
116 b l a b d o r t d o d o r t m u n d d o r t m
117 b l a b d o r t d o d o r t m u n d d o r t m
118 b l a b d o r t d o d o r t m u n d d o r t m
119 b l a b d o r t d o d o r t m u n d d o r t m
120 b l a b d o r t d o d o r t m u n d d o r t m
121 b l a b d o r t d o d o r t m u n d d o r t m
122 b l a b d o r t d o d o r t m u n d d o r t m
123 b l a b d o r t d o d o r t m u n d d o r t m Megvan
124 Mennyi a futási idő legrosszabb esetre?
125 a a a a a a a a a a a a a a a a a b a a a a b
126 a a a a a a a a a a a a a a a a a b a a a a b
127 a a a a a a a a a a a a a a a a a b a a a a b
128 a a a a a a a a a a a a a a a a a b a a a a b
129 a a a a a a a a a a a a a a a a a b a a a a b
130 a a a a a a a a a a a a a a a a a b a a a a b
131 a a a a a a a a a a a a a a a a a b a a a a b
132 a a a a a a a a a a a a a a a a a b a a a a b
133 a a a a a a a a a a a a a a a a a b a a a a b
134 a a a a a a a a a a a a a a a a a b a a a a b
135 a a a a a a a a a a a a a a a a a b a a a a b
136 a a a a a a a a a a a a a a a a a b a a a a b
137 a a a a a a a a a a a a a a a a a b a a a a b
138 a a a a a a a a a a a a a a a a a b a a a a b
139 a a a a a a a a a a a a a a a a a b a a a a b
140 n a a a a a a a a a a a a a a a a a b a a a a b m O(nm)
141 Mintaillesztés véges determinisztikus automatával
142 Legyen M = (Q,q0,F,S,δ) olyan véges determinisztikus automata, amely a Σ * S nyelvet ismeri fel! Mivel Σ * S az összes olyan szavak halmaza, amelyek az S mintára végződnek, ezért A[0..i]-t pontosan akkor ismeri fel az automata, ha az S minta [i-m] eltolással előfordul az A szövegben. Ekkor a következő algoritmus megoldja a problémát.
143 q = q0; n = A ; m = S ; for (i=1;i<=n;i++) { q = δ(q,a[i]); if (q F) return i m+1; } Az algoritmus futási ideje adott automata mellett O(n).
144 Példa Σ={a,b,c} S a c a b b c a c a a b b b,c q0 q0 q1 q2 q3 q4 b a c b,c a q5 A a c a b a c b b a a c a b b a q1 q2 q3 q4 q1 q2 q0 q0 q1 q1 q2 q3 q4 q5
145 Hogyan tudjuk előállítani az M automata átmenetfüggvényét? Vegyük azt az automatát, amelyben az állapotok halmaza 0,...,m és minden q < m állapot és x Σ esetén
146 m = S ; for (q:= 0; q<=m;q++) for ( x: x Σ) { S a c a b b for (k=min(m,q+1);sk! Sqx;k--) ; δ(q,x) = k ; c } } a c a a b b b,c q0 q1 q2 q3 q4 q0 q1 q2 q3 q4 b a c b,c a q5 a q1 q1 q3 q1 q1 b q0 q0 q0 q4 q5 c q0 q2 q0 q2 q0 O( Σ m 2 ) O(m 3 )
147 Példa Σ={a,b} S a a a a b a a a a b q0 b q1 q2 q3 q4 b b a q5
148 Példa Σ={a,b} S a a a a b b q0 a b a a a q1 q2 q3 q4 b b a b q5 A a a a a a a a a a a a a a a a a a b
149 Knuth Morris Pratt algoritmus Ha egy helyen a minta egy kezdőszelet illeszkedik, akkor a következő néhány elemnél nem feltétlen kell ellenőrízni az illeszkedést, hanem a mintától és az aktuális illeszkedéstől függően lehet előre léptetni az összehasonlító algoritmust. A léptetés mértéke előre kiszámítható a mintára.
150 b l a b d o r t d o d o r t m u n d d o r t m
151 b l a b d o r t d o d o r t m u n d d o r t m
152 b l a b d o r t d o d o r t m u n d d o r t m
153 b l a b d o r t d o d o r t m u n d d o r t m
154 b l a b d o r t d o d o r t m u n d d o r t m
155 b l a b d o r t d o d o r t m u n d d o r t m
156 b l a b d o r t d o d o r t m u n d d o r t m
157 b l a b d o r t d o d o r t m u n d d o r t m
158 b l a b d o r t d o d o r t m u n d d o r t m
159 A minta prefix függvénye PRE : {1,...,m} {0,...,m 1} a következoképpen adható meg: Prefix(S) { m=hossz(s) ; pre[1]=0 ; k=0 ; for (q=2;q<=m;q++) { while (k>0 and S[k+1]!=S[q]) k=pre(k) ; if (S[k+1]==S[q]) k++ ; pre[q]=k ; } return pre ; } A Prefix eljárás futási ideje legrosszabb esetben O(m).
160 KMP(A,S) { n=hossz(a) ; m=hossz(s) ; pre=prefix(s) ; q=0 ; for (i=1;i<=n;i++) { while (q>0 and S[q+1]!=A[i]) q:=pre[q] ; if (S[q+1]==A[i]) q++ ; if (q==m) { illeszkedik(i-m+1) ; q:=pre[q] // következő illeszkedés keresése } }
161 Rabin-Karp algoritmusa Az algoritmus a Σ feletti szavakat, egy Σ = d alapú számrendszerben felírt számként tekinti. Ekkor az S mintát egyértelműen megadja a hozzárendelt szám értéke, amit jelöljön s. Ez az s érték kiszámítható O(m) időben. Az algoritmus alapötlete, hogy az A szövegre, minden i-re kiszámolva az A[i + 1,...,i + m] számértéket, azon esetekben, ahol ez a szám s illeszkedik a minta. Ezt hatékonyan számíthatjuk, mivel A[i+2,...,i+m+1] = (A[i+1,...,i+m] d m A[i+1])d +A[i+m+1], így az első érték után a többiek mindegyike konstans időben kiszámítható.
162 A módszerrel az a probléma, hogy a létrejövő számok túl nagyok így nem ábrázolhatóak a számítógépen a szokásos számtípusokkal. A megoldás az, hogy a számok helyett csak egy megfelelően nagy, de még kezelhető q érték szerinti osztásmaradékukat használjuk. Természetesen így egy olyan algoritmust kapunk, amely esetén a minta illeszkedik válasz hamis lehet, ha a két szám maradéka megegyezik. Ezért a maradékosztályok megegyezése esetén, a helyességet ellenőrizni kell. Viszont az algoritmus gyors elutasítási heurisztikaként jól használható, mivel ha azt kapjuk, hogy a minta nem illeszkedik, akkor valóban nincs illeszkedés.
Geometriai algoritmusok
Geometriai algoritmusok Alapfogalmak Pont: (x,y) R R Szakasz: Legyen A,B két pont. Az A és B pontok által meghatározott szakasz: AB = {p = (x,y) : x = aa.x + (1 a)b.x,y = aa.y + (1 a)b.y),a R,0 a 1. Ha
RészletesebbenAlgoritmizálás, adatmodellezés 10. előadás
Algoritmizálás, adatmodellezés 10. előadás Belül(N,P,D): Külső pont(n,p,q) P(N+1):=P(1); Db:=0 Ciklus i=1-től N-ig Ha Metszi(P(i),P(i+1),D,Q) akkor Db:=Db+1 Ciklus vége Belül:=(Db mod 2)=1 Függvény vége.
RészletesebbenKoordináta-geometria feladatok (emelt szint)
Koordináta-geometria feladatok (emelt szint) 1. (ESZÉV Minta (2) 2004.05/7) Egy ABC háromszögben CAB = 30, az ACB = 45. A háromszög két csúcsának koordinátái: A(2; 2) és C(4; 2). Határozza meg a harmadik
RészletesebbenGeometriai algoritmusok
Geometriai algoritmusok Horváth Gyula horvath@inf.elte.hu Számos olyan gyakorlati számítási probléma van, amely megoldható olyan geometriai modellben, amelyben csak egyszerű objektumok, pontok, egyenesek,
RészletesebbenGEOMETRIA 1, alapszint
GEOMETRIA 1, alapszint Kiss György 4-723 Fogadóóra: péntek 8. 15-10. 00 email: kissgy@cs.elte.hu Előadás: 11. 15-13. 45, közben egyszer 15 perc szünet GEOMETRIA 1, alapszint Ajánlott irodalom: Hajós Gy.:
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenFüggvények Megoldások
Függvények Megoldások ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x x b) x x + c) x ( x + ) b) Az x függvény
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 9. Geometriai algoritmusok Számos olyan gyakorlati számítási probléma
RészletesebbenTerületi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)
Grafikus primitívek kitöltése Téglalap kitöltése Poligon kitöltése Kör, ellipszis kitöltése Kitöltés mintával Grafikus primitívek kitöltése Területi primitívek: Zárt görbék által határolt területek (pl.
RészletesebbenEdényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Részletesebben17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
Részletesebbenb) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2
1) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) b) c) ( ) ) Határozza meg az 1. feladatban megadott, ; intervallumon
RészletesebbenAdatszerkezetek I. 10. előadás
Adatszerkezetek I. 10. előadás Feladat: Adjuk meg, hogy az origóból nézve az 1. sík-negyedbe eső P ponthoz képest a Q balra, jobbra vagy pedig egy irányban látszik-e! 1, ha balra Irány(P,Q) = 1, ha jobbra
RészletesebbenAlgoritmusok és adatszerkezetek II.
Szegedi Tudományegyetem - Természettudományi és Informatikai Kar - Informatikai Tanszékcsoport - Számítógépes Algoritmusok és Mesterséges Intelligencia Tanszék - Németh Tamás Algoritmusok és adatszerkezetek
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek megoldásához!
RészletesebbenOrszágos Középiskolai Tanulmányi Verseny 2011/2012 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló - megoldások. 1 pont Ekkor
Okta tási Hivatal Országos Középiskolai Tanulmányi Verseny 0/0 Matematika I. kategória (SZAKKÖZÉPISKOLA). forduló - megoldások. Az valós számra teljesül a 3 sin sin cos sin egyenlőség. Milyen értékeket
RészletesebbenGeometriai algoritmusok
(Horváth Gyula és Szlávi Péter előadásai felhasználásával) 2012.02.07 2 Feladat: Adjuk meg, hogy az origóból nézve az 1. sík-negyedbe eső P ponthoz képest a Q balra, jobbra vagy pedig egy irányban látszik-e!
RészletesebbenAz értékelés a következők szerint történik: 0-4 elégtelen 5-6 elégséges 7 közepes 8 jó 9-10 jeles. A szóbeli vizsga várható időpontja
2016/17 I. félév MATEMATIKA szóbeli vizsga 1 A szóbeli vizsga kötelező eleme a félév teljesítésének, tehát azok a diákok is vizsgáznak, akik a többi számonkérést teljesítették. A szóbeli vizsgán az alább
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
RészletesebbenOrszágos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása
Oktatási Hivatal Országos Középiskolai Tanulmányi Verseny / Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása. Oldja meg a valós számok legbővebb részhalmazán a egyenlőtlenséget!
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
RészletesebbenSzámláló rendezés. Példa
Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a
Részletesebben10. előadás. Konvex halmazok
10. előadás Konvex halmazok Konvex halmazok Definíció: A K ponthalmaz konvex, ha bármely két pontjának összekötő szakaszát tartalmazza. Állítás: Konvex halmazok metszete konvex. Konvex halmazok uniója
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenÉrettségi feladatok Koordinátageometria_rendszerezve / 5
Érettségi feladatok Koordinátageometria_rendszerezve 2005-2013 1/ 5 Vektorok 2005. május 28./12. Adottak az a (4; 3) és b ( 2; 1) vektorok. a) Adja meg az a hosszát! b) Számítsa ki az a + b koordinátáit!
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
Részletesebben32. A Knuth-Morris-Pratt algoritmus
32. A Knuth-Morris-Pratt algoritmus A nyers erőt használó egyszerű mintaillesztés műveletigénye legrosszabb esetben m*n-es volt. A Knuth-Morris-Pratt algoritmus (KMP-vel rövidítjük) egyike azon mintaillesztő
Részletesebben9. Geometriai algoritmusok
9. Geometriai algoritmusok Számos olyan gyakorlati számítási probléma van, amely megoldható olyan geometriai modellben, amelyben csak egyszerű objektumok, pontok, egyenesek, szakaszok, szögek, szögtartományok,
RészletesebbenNULLADIK MATEMATIKA ZÁRTHELYI
NULLADIK MATEMATIKA ZÁRTHELYI 08-09-07 Terem: Munkaidő: 0 perc. A dolgozat megírásához íróeszközön kívül semmilyen segédeszköz nem használható! A feladatlap kizárólag kék vagy fekete tollal tölthető ki.
RészletesebbenGeometria. a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk)
1. Térelemek Geometria a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk) b. Def: félegyenes, szakasz, félsík, féltér. c. Kölcsönös helyzetük: i. pont és (egyenes vagy
Részletesebben2. ELŐADÁS. Transzformációk Egyszerű alakzatok
2. ELŐADÁS Transzformációk Egyszerű alakzatok Eltolás A tér bármely P és P pontpárjához pontosan egy olyan eltolás létezik, amely P-t P -be viszi. Bármely eltolás tetszőleges egyenest vele párhuzamos egyenesbe
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x
RészletesebbenÉrettségi feladatok: Koordináta-geometria 1/5
Érettségi feladatok: Koordináta-geometria 1/5 2003. Próba/ 13. Adott egy háromszög három csúcspontja a koordinátáival: A( 4; 4), B(4; 4) és C( 4; 8). Számítsa ki a C csúcsból induló súlyvonal és az A csúcsból
RészletesebbenCohen-Sutherland vágóalgoritmus
Vágási algoritmusok Alapprobléma Van egy alakzatunk (szakaszokból felépítve) és van egy "ablakunk" (lehet a monitor, vagy egy téglalap alakú tartomány, vagy ennél szabálytalanabb poligon által határolt
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások
Megoldások 1. Tekintsük az alábbi szabályos hatszögben a következő vektorokat: a = AB és b = AF. Add meg az FO, DC, AO, AC, BE, FB, CE, DF vektorok koordinátáit az (a ; b ) koordinátarendszerben! Alkalmazzuk
RészletesebbenINFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
RészletesebbenPermutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation
Visszalépéses módszer (Backtracking) folytatás Permutáció n = 3 esetében: 1 2 3 2 3 1 3 1 2 Eredmény: 3 2 3 1 2 1 123 132 213 231 312 321 permutációk száma: P n = n! romámul: permutări, angolul: permutation
RészletesebbenKoordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:
005-0XX Emelt szint Koordinátageometria 1) a) Egy derékszögű háromszög egyik oldalegyenese valamelyik koordinátatengely, egy másik oldalegyenesének egyenlete x + y = 10, egyik csúcsa az origó. Hány ilyen
RészletesebbenArany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória
Bolyai János Matematikai Társulat Oktatásért Közalapítvány támogatásával Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 1. forduló haladók III. kategória Megoldások és javítási útmutató 1. Határozzuk
Részletesebben... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
RészletesebbenKözéppontos hasonlóság szerkesztések
Középpontos hasonlóság szerkesztések 1. Adott az AV B konvex szög és a belsejében egy P pont. Húzzunk a P ponton át egy egyenest úgy, hogy a szög száraiból kimetszett szeletek aránya 3 : 4 legyen. Legyen
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
RészletesebbenA valós számok halmaza
VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben
RészletesebbenGráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma
Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit
RészletesebbenMegoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7
A = {1; 3; 5; 7; 9} A B = {3; 5; 7} A/B = {1; 9} Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7 Azonos alapú hatványokat
RészletesebbenSíkgeometria 12. évfolyam. Szögek, szögpárok és fajtáik
Szögek, szögpárok és fajtáik Szögfajták: Jelölés: Mindkét esetben: α + β = 180 Pótszögek: Olyan szögek, amelyeknek összege 90. Oldalak szerint csoportosítva A háromszögek Általános háromszög: Minden oldala
RészletesebbenMATEMATIKA ÉRETTSÉGI május 8. EMELT SZINT
MATEMATIKA ÉRETTSÉGI 007. május 8. EMELT SZINT 1) Oldja meg a valós számok halmazán az alábbi egyenletet! x x 4 log 9 10 sin x x 6 I. (11 pont) sin 1 lg1 0 log 9 9 x x 4 Így az 10 10 egyenletet kell megoldani,
RészletesebbenSpecifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.
Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot
RészletesebbenAnalitikus térgeometria
5. fejezet Analitikus térgeometria Kezd és végpontjuk koordinátáival adott vektorok D 5.1 A koordináta-rendszer O kezd pontjából a P pontba mutató OP kötött vektort a P pont helyvektorának nevezzük. T
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások
Megoldások 1. Határozd meg a szakasz hosszát, ha a végpontok koordinátái: A ( 1; ) és B (5; )! A szakasz hosszához számítsuk ki a két pont távolságát: d AB = AB = (5 ( 1)) + ( ) = 6 + 1 = 7 6,08.. Határozd
RészletesebbenHalmazelméleti alapfogalmak
Halmazelméleti alapfogalmak halmaz (sokaság) jól meghatározott, megkülönböztetett dolgok (tárgyak, fogalmak, stb.) összessége. - halmaz alapfogalom. z azt jelenti, hogy csak példákon keresztül magyarázzuk,
RészletesebbenGeometria 1 összefoglalás o konvex szögek
Geometria 1 összefoglalás Alapfogalmak: a pont, az egyenes és a sík Axiómák: 1. Bármely 2 pontra illeszkedik egy és csak egy egyenes. 2. Három nem egy egyenesre eső pontra illeszkedik egy és csak egy sík.
RészletesebbenKövetelmény az 5. évfolyamon félévkor matematikából
Követelmény az 5. évfolyamon félévkor matematikából Gondolkodási és megismerési módszerek Néhány elem kiválasztása adott szempont szerint. Néhány elem sorba rendezése, az összes lehetséges sorrend felsorolása.
RészletesebbenOktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont
Oktatási Hivatal Öt pozitív egész szám egy számtani sorozat első öt eleme A sorozatnak a különbsége prímszám Tudjuk hogy az első négy szám köbének összege megegyezik az ezen öt tag közül vett páros sorszámú
RészletesebbenKoordináta-geometria feladatok (középszint)
Koordináta-geometria feladatok (középszint) 1. (KSZÉV Minta (1) 2004.05/I/4) Adott az A(2; 5) és B(1; 3) pont. Adja meg az AB szakasz felezőpontjának koordinátáit! 2. (KSZÉV Minta (2) 2004.05/I/7) Egy
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.
Geometria III. DEFINÍCIÓ: (Vektor) Az egyenlő hosszúságú és egyirányú irányított szakaszoknak a halmazát vektornak nevezzük. Jele: v. DEFINÍCIÓ: (Geometriai transzformáció) Geometriai transzformációnak
RészletesebbenLehet hogy igaz, de nem biztos. Biztosan igaz. Lehetetlen. A paralelogrammának van szimmetria-középpontja. b) A trapéznak két szimmetriatengelye van.
Geometria, sokszögek, szögek, -, 2004_01/5 Lili rajzolt néhány síkidomot: egy háromszöget, egy deltoidot, egy paralelogrammát és egy trapézt. A következő állítások ezekre vonatkoznak. Tegyél * jelet a
RészletesebbenNagy András. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 2010.
Nagy András Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 010. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 1) Döntsd el, hogy a P pont illeszkedik-e az e egyenesre
RészletesebbenTuring-gép május 31. Turing-gép 1. 1
Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus
RészletesebbenEgybevágósági transzformációk
Egybevágósági transzformációk Párhuzamos eltolás Geometriai transzformációk Egybevágósági transzformációk (9. osztály) Helybenhagyás Tengelyes tükrözés Középpontos tükrözés Pont körüli forgatás Párhuzamos
RészletesebbenAlgoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
RészletesebbenPélda Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
RészletesebbenEGY ABLAK - GEOMETRIAI PROBLÉMA
EGY ABLAK - GEOMETRIAI PROBLÉMA Írta: Hajdu Endre A számítógépemhez tartozó két hangfal egy-egy négyzet keresztmetszetű hasáb hely - szűke miatt az ablakpárkányon van elhelyezve (. ábra).. ábra Hogy az
RészletesebbenAdatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
RészletesebbenKupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Részletesebben2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1
2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának
RészletesebbenGeometriai algoritmusok
Geometriai algoritmusok Horváth Gyula Szegedi Tudományegyetem Informatikai Tanszékcsoport horvath@inf.u-szeged.hu 2006. január 13. Számos olyan gyakorlati számítási probléma van, amely megoldható olyan
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
Részletesebben3. tétel Térelemek távolsága és szöge. Nevezetes ponthalmazok a síkon és a térben.
3. tétel Térelemek távolsága és szöge. Nevezetes ponthalmazok a síkon és a térben. TÁVOLSÁG Általános definíció: két alakzat távolsága a két alakzat pontjai között húzható legrövidebb szakasz hosszaa távolság
RészletesebbenMatematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.
Matematika 11 Koordináta geometria Juhász László matematika és fizika szakos középiskolai tanár > o < 2015. szeptember 27. copyright: c Juhász László Ennek a könyvnek a használatát szerzői jog védi. A
RészletesebbenSzámjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások
Megoldások 1. Írd fel a K (0; 2) középpontú 7 sugarú kör egyenletét! A keresett kör egyenletét felírhatjuk a képletbe való behelyettesítéssel: x 2 + (y + 2) 2 = 49. 2. Írd fel annak a körnek az egyenletét,
RészletesebbenAdatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)
Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),
RészletesebbenMintaillesztő algoritmusok. Ölvedi Tibor OLTQAAI.ELTE
Mintaillesztő algoritmusok Ölvedi Tibor OLTQAAI.ELTE Mintaillesztő algoritmusok Amiről szó lesz: Bruteforce algoritmus Knuth-Morris-Pratt algoritmus Rabin-Karp algoritmus Boyer-Moore algoritmus Boyer-Moore-Horspool
RészletesebbenKövetelmény a 6. évfolyamon félévkor matematikából
Követelmény a 6. évfolyamon félévkor matematikából Gondolkodási és megismerési módszerek Halmazba rendezés adott tulajdonság alapján, részhalmaz felírása, felismerése. Két véges halmaz közös részének,
RészletesebbenKoordináta geometria III.
Koordináta geometria III. TÉTEL: A P (x; y) pont akkor és csak akkor illeszkedik a K (u; v) középpontú r sugarú körre (körvonalra), ha (x u) 2 + (y v) 2 = r 2. Ez az összefüggés a K (u; v) középpontú r
RészletesebbenTuesday, March 6, 12. Hasító táblázatok
Hasító táblázatok Halmaz adattípus U (kulcsuniverzum) K (aktuális kulcsok) Függvény adattípus U (univerzum) ÉT (értelmezési tartomány) ÉK (érték készlet) Milyen az univerzum? Közvetlen címzésű táblázatok
RészletesebbenSíkbeli egyenesek. 2. Egy egyenes az x = 1 4t, y = 2 + t parméteres egyenletekkel adott. Határozzuk meg
Analitikus mértan 3. FELADATLAP Síkbeli egyenesek 1. Írjuk fel annak az egyenesnek a paraméteres egyenleteit, amely (i) áthalad az M 0 (1, 2) ponton és párhuzamos a a(3, 1) vektorral; (ii) áthalad az origón
RészletesebbenDiszkrét matematika 2.
Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 1. előadás Gráfok halmaza, gráf, ahol a csúcsok halmaza, az élek illesztkedés reláció: illesztkedik az élre, ha ( -él illesztkedik
Részletesebben10. Koordinátageometria
I. Nulladik ZH-ban láttuk: 0. Koordinátageometria. Melyek azok a P x; y pontok, amelyek koordinátái kielégítik az Ábrázolja a megoldáshalmazt a koordináta-síkon! x y x 0 egyenlőtlenséget? ELTE 00. szeptember
RészletesebbenKOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
RészletesebbenMinimum követelmények matematika tantárgyból 11. évfolyamon
Minimum követelmények matematika tantárgyból. évfolyamon A hatványozás általánosítása pozitív alap esetén racionális kitevőre. Műveletek hatványokkal. A, a 0 függvény. Az eponenciális függvény. Vizsgálata
RészletesebbenMinimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
RészletesebbenÖ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.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
RészletesebbenAz Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai
Az Országos Középiskolai Tanulmányi Verseny 008-009. tanévi első fordulójának feladatmegoldásai matematikából, a II. kategória számára. Határozzuk meg az alábbi egyenletrendszer valós megoldásait. ( x
RészletesebbenHajder Levente 2017/2018. II. félév
Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév Tartalom 1 2 3 Geometriai modellezés feladata A világunkat modellezni kell a térben. Valamilyen koordinátarendszer
RészletesebbenNULLADIK MATEMATIKA ZÁRTHELYI
A NULLADIK MATEMATIKA ZÁRTHELYI 20-09-2 Terem: Munkaidő: 0 perc. A dolgozat megírásához íróeszközön kívül semmilyen segédeszköz nem használható! Csak és kizárólag tollal tölthető ki a feladatlap, a ceruzával
RészletesebbenGEOMETRIAI FELADATOK 1. (ESETTANULMÁNY)
GEOMETRIAI FELADATOK 1. (ESETTANULMÁNY) Az esettanulmány Horváth Gyula: Geometriai algoritmusok c., az NJSzT által gondozott Tehetséggondozó Program keretén belül megjelent kötete alapján készült. 1 P
RészletesebbenFraktálok. Klasszikus fraktálpéldák I. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék
Fraktálok Klasszikus fraktálpéldák I Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék TARTALOMJEGYZÉK 1 of 86 Bevezetés. 2 of 86 TARTALOMJEGYZÉK Bevezetés. Az önhasonlóságról intuitív módon Klasszikus
Részletesebben8. előadás. Kúpszeletek
8. előadás Kúpszeletek Kör A k kört egyértelműen meghatározza C(a,b) középpontja és r sugara. A P pont pontosan akkor van k-n, ha CP=r. Vektoregyenlet: p-c = r. Koordinátás egyenlet: (X-a)2 + (Y-b)2 =
RészletesebbenBevezetés a matematikába (2009. ősz) 1. röpdolgozat
Bevezetés a matematikába (2009. ősz) 1. röpdolgozat 1. feladat. Fogalmazza meg a következő ítélet kontrapozícióját: Ha a sorozat csökkenő és alulról korlátos, akkor konvergens. 2. feladat. Vezessük be
RészletesebbenGeometria 1 normál szint
Geometria 1 normál szint Naszódi Márton nmarci@math.elte.hu www.math.elte.hu/ nmarci ELTE TTK Geometriai Tsz. Budapest Geometria 1 p.1/4 Vizsga 1. Írásban, 90 perc. 2. Index nélkül nem lehet vizsgázni!
RészletesebbenFeladatok Házi feladat. Keszeg Attila
2016.01.29. 1 2 3 4 Adott egy O pont és egy λ 0 valós szám. a tér minden egyes P pontjához rendeljünk hozzá egy P pontot, a következő módon: 1 ha P = O, akkor P = P 2 ha P O, akkor P az OP egyenes azon
Részletesebben15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30.
15. tétel Adatszerkezetek és algoritmusok vizsga Frissült: 2013. január 30. Edényrendezés Tegyük fel, hogy tudjuk, hogy a bemenő elemek (A[1..n] elemei) egy m elemű U halmazból kerülnek ki, pl. " A[i]-re
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
Részletesebben