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:

Slides:



Advertisements
Hasonló előadás
Nevezetes algoritmusok
Advertisements

Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Logaritmikus keresés Feladat: Adott egy 11 elemű, növekvően rendezett tömb számokkal feltöltve. Keressük meg a 17-es értéket! Ha van benne, hányadik eleme.
 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
Programozás alapjai.
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
Rendezési algoritmusok
A Pascal programozási nyelv alapjai
Egydimenziós tömbök (Vektorok)
Ciklusok: 2. Előltesztelő ciklus
A Pascal programozási nyelv alapjai
Listák, Vermek és Várakozási Sorok. Vermek Def: Egy sajátos lista amelyben minden beszúrási illetve törlési művelet csak a lista egyik végén történik.
Listák, Vermek és Várakozási Sorok
Listák, Vermek és Várakozási Sorok. Listák Pl: Kirándulók listája Bevásárló lista Alma Kenyér Krumpli Szappan Mosópor Bevásárló lista.
Tömbök és programozási tételek
Rendezések és szövegkezelő függvények
Összetett adattípusok
Kétdimenziós tömbök Mátrixok
Fák.
Nevezetes algoritmusok
Egyenesvonalú (lineáris) adatszerkezetek
Pole (array of...).  Zložený datový typ na ukladanie viacerých premených  Zápis: var meno_pola : array [ konce intervala ] of základný typ ; Základné.
Nat Pedellus Free Pascal Elágazások..
Vnorené cykly.  Pri riešení problémov sa stáva, že použijeme viac cyklov za sebou, alebo jeden cyklus vnorený do druhohého.
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
2.1Jelátalakítás - kódolás
A magas baleseti kockázatú útszakaszok rangsorolása
Hőtan BMegeenatmh 5. Többfázisú rendszerek
Az új közbeszerzési szabályozás – jó és rossz gyakorlatok
Boros Sándor, Batta Gyula
A sebész fő ellensége: a vérzés
Data Mining Machine Learning a gyakorlatban - eszközök és technikák
Bevezetés a pszichológiába
Outlier detektálás nagyméretű adathalmazokon
Grafikai művészet Victor Vasarely Maurits Cornelis Escher.
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
Az anyagok fejlesztésével a méretek csökkennek [Feynman, 1959].
Klasszikus Szabályozás elmélet
XXV. Nemzetközi Magyar Matematikaverseny Budapest
Eötvös Loránd Tudományegyetem Meteorológiai Tanszék
MINTAVÉTEL, LEÍRÓ STATISZTIKA
A PLC-s vezérlés előnyei és alkalmazásai (Mitsubishi)
Kelényi Imre HWSW Free! – WWDC 2017 Kelényi Imre
Agrár-környezetgazdálkodás
Adatbázisok 8. előadás Tikk Domonkos.
Végeselemes modellezés matematikai alapjai
Kórádi Zoltán Kondenzált anyagok fizikája szeminárium, 2012
9. Üstököskutatás Németh Zoltán
A~30 tömegszámú egzotikus atommagok vizsgálata radioaktív nyalábokkal
ET Erőforrás tervezés Resource Planning
Földműveléstan és területfejlesztés
Metal Oxide Semiconductor Field Effect Transistor
HIDROSZTATIKA, HIDRODINAMIKA
Országos Fizikatanári Ankét és Eszközbemutató Gödöllő 2017.
A vállalati döntések modellezése
BERUHÁZÁSI DÖNTÉSEK I..
Hőközlés – Alapfogalmak Hővezetés és hősugárzás
Balatonfüred A szén és vegyületei II..
Determinisztikus kinetikai leírás
A molekuladinamika algoritmusa Potenciálok
Lineáris keresés Keresés (N,A,sorszam) i := 1
Előadás másolata:

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: típusnév; Beolvasás: {n – elemek száma X – a vektorunk neve} write(‘n=‘); readln(n); for i:=1 to n do begin write(‘x[‘,I,’]=‘); readln(x[i]); end; Kiírás: writeln(‘n=‘,n); for i:=1 to n do write(x[i],’ ‘); writeln;

Elemi algoritmusok vektorokkal 1. Keresések –1.1. Lineáris (szekvenciális) –1.2. Bináris 2. Rendezések –2.1. Buborékos –2.2. Minimumkereséses –2.3. Beszúrásos 3. Elem törlése 4. Elem beszúrása 5. Összefésülés

1.1. Lineáris (vagy szekvenciális) keresés Feladat: Adott egy n elemű, egész számokat tartalmazó x sorozat és egy k elem. Határozzuk meg, hogy a k elem benne van-e az x sorozatban! A lineáris keresés lényege, hogy végigjárjuk az x sorozatot és minden x[i] elemet összehasonlítunk a k-val. Az algoritmusnak két esetben van vége: Ha x[i]=k, vagyis megtaláltuk a keresett elemet. Ha i=n+1, vagyis végigjártuk a sorozatot és nem találtuk meg a keresett k elemet.

Vegyünk egy példát: n=7, x=(5, 6, 9, 13, 45, 3, 15) és k=13, majd k= x[1]x[2]x[3]x[4]x[5]x[6]x[7] Megtaláltuk a keresett számot! Tehát nem szükséges továbbmenni. 17 A vektor végére értünk anélkül, hogy megtaláltuk volna a keresett számot. Tehát nincsen meg.

A lineáris keresés algoritmusa Algoritmus linearis_kereses Be: n; x i,ahol i:=1,n; k megvan  hamis i  1 Amíg (i<=n) és nem megvan végezd el Ha x[i]=k akkor megvan  igaz (Ha) vége i  i+1 (Amíg)vége Ha megvan akkor Ki: ‘benne van’ különben Ki: ‘nincsen benne’ (Ha)vége Algoritmus vége Kezdetben feltételezzük, h nincsen meg amit keresünk. A keresést az első elemtől kezdjük. Keressük amíg a végére érünk......vagy megta- láltuk. Ha megtaláltuk... „Megyünk” a következő elemhez. Kiírjuk a megoldást.

1.2. Bináris keresés Ugyanaz a feladat: Adott egy n elemű, egész számokat tartalmazó x sorozat és egy k elem. Határozzuk meg, hogy a k elem benne vane az x sorozatban! A bináris keresés lényege, hogy a k elemet az x sorozatot középső eleméhez hasonlítjuk és a hasonlítás eredményétől függően folytatjuk a keresést középtől balra, vagy jobbra. Ez az algoritmus, CSAK rendezett sorozat esetén alkalmazható!

7=7 tehát MEGTALÁLTUK a keresett elemünket. Vegyünk egy példát: n=13, x=(1,3,4,5,7,9,10,11,15,16,16,18,20) és k=7 X[1]X[2]X[3]X[4]X[5]X[6]X[7]X[8]X[9]X[10]X[11]X[12]X[13] <10 és a sorozat rendezett, tehát csak az első felében lehet, ha benne van egyáltalán... 7>5 és a sorozat rendezett, tehát csak tőle jobbra lehet... ha benne van egyáltalán... 1/2 7 Megkeressük a középső elemet és ahhoz hasonlítjuk A keresett k számot. Most az első 7 elemnek keressük a középsőjét. A 4-dik elem előtt, illetve a 7-dik után már biztosan nincs, keressük tehát a 4-7 elemek „közepén”. Ha a keresett elem nem lenne meg a sorozatban, akkor addig feleznénk a vektorunkat, míg az „elfogyna”.

A bináris keresés algoritmusa Algoritmus Binaris_kereses Be: n; x i,ahol i:=1,n; k bal  1; jobb  n megvan  hamis Amíg (bal<=jobb) és nem megvan végezd el kozep  (jobb+bal) div 2 Ha x[kozep]=k akkor megvan  igaz különben Ha k<x[kozep] akkor jobb  kozep-1 különben bal  kozep+1 (Ha) vége (Amíg)vége Ki: megvan Algoritmus vége Kezdetben az egész vektor hosszát osztjuk. Feltételezzük, hogy az elem nincsen meg. Két esetben van vége az algoritmusnak: 1. „elfogyott” a vektorunk Megtaláltuk az elemet Osztom az aktuális intervallumot. Ha megtaláltam az elemet, akkor átállítom a megvan értékét, h az amíg tudjon leállni. Ha még nem találtam meg az elemet, akkor továbbosztom az intervallumot, attól függően, hogy...