Algoritmizálás

Informatikatanár szak (Nappali és Levelező tagozat) + Makovecz programok

Tematika:
  • számítógépes algoritmusok elemei, függvényhívás, alapvető adatszerkezetek, rekurzió
  • algoritmus és program futási idejének és tárigényének fogalma, vizsgálatuk
  • algorimusok helyessége, mohó algoritmusok, brute force
  • objektumok struktúrája a memóriában, adatszerkezetek tervezésének alapjai
  • a rendezett halmaz adattípus és megvalósítása ugrólistával
  • bináris keresőfák, kupacok, kereső és rendező algoritmusok, mintaillesztés
  • keresőfák és kiegyensúlyozott keresőfák: B- és piros-fekete fák, önszervező keresőfák
  • amortizációs költségelemzés, hasítótáblák
  • a prioritási sor, kupac adatszerkezet
  • egyesíthető és módosítható prioritási sor: binomiális és Fibonacci kupac
  • hálózatelemzési modellek és módszerek, gráf fogalma, gráf osztályok
  • súlyozatlan és súlyozott gráfok, páros gráfok, folyamok
  • gráf szélességi és mélységi bejárása, mélységi és szélességi keresés gráfon
  • gráf erősen összefüggő komponensei, élek osztályozása, topológikus rendezés
  • minimális feszítőfa, Krusal algoritmus, diszjunkt halmazok kezelése
  • súlyozott gráf problémák, Dijsktra algoritmus
  • probléma megoldási módszerek: dinamikus programozás, backtrack, B&B
  • Floyd-Warshall algoritmus
  • geometriai algoritmusok és adatszerkezetek
  • véletlenített algoritmusok, közelítő algoritmusok, on-line algoritmusok
  • számelméleti algoritmusok, nyilvános kulcsú titkosítás
  • Jegyzetek: Elemi algoritmusok (Algoritmizálás) - - - Algoritmusok leírásai és animációi - - - C++ STL CONTAINERS (link) - - - Behálózva - - - Piros-fekete fa - - - Alga II.

    Példaprogramok
    Beszúró rendezés
    pszeudo
    pascal
    001 002
    Hanoi tornya - rekurzív algoritmus
    scratch
    html-js
    php
    java
    c++
    Tükörszó (törléses) - rekurzív
    pszeudo
    js
    java
    c++
    Hátizsák - rekurzív 003 004 java 006
    Optimális pénzváltás - rekurzív 007 c++ pascal php
    Toronyépítő - rekurzív 011 012 java 014
    Tükörszó (törléses) - rekurzív memorizálással
    js
    php
    java
    c++
    Optimális pénzváltás - rekurzív memorizálással 021 pascal 023 024
    Tükörszó (törléses) - dinamikus programozással 029
    php
    java c++
    Hátizsák - dinamikus programozással 032 php java c++
    Optimális pénzváltás - din. programozással 036 php pascal 039
    Kincsgyűjtés - rekurzív memorizálással 040 pascal 042 043
    Kincsgyűjtés (maximum keresés) - dinamikus 044
    php
    pascal
    c++
    Igazságos osztozkodás - dinamikus 046
    php
    047 048
    Láncolt lista adatszerkezet
    doc
    ábra
    c++
    java
    pascal
    Bináris keresőfa
    ábra
    php
    java
    c++
    Gráf megadása
    JSON
    062 063
    Fa mélységi bejárása - rekurzív algoritmus
    064
    php
    066 c++
    Bináris fa inorder bejárása
    doc
    067 php java c++
    Gráf mélységi bejárása - rekurzív algoritmus
    js
    php
    072 073
    Mélységi keresés gráfon - rekurzív algoritmus
    074
    php
    075 076
    Erősen összefüggő komponensek
    js
    php
    java
    java
    Gráf szélességi bejárása
    js
    php
    081 c++
    Öntögetős feladat szélességi feszítőfája 083
    php
    084 c++
    Kruskal algoritmus 094 c++ java 097
    Dijkstra algoritmus 098 c++ java 101
    Floyd-Warshall algoritmus 102
    php
    c++ 104
    Maximális párosítás 105 pascal 107 108
    Gyorsrendezés
    alg
    java php pascal c++
    Kupacrendezés
    alg
    113 pascal php java
    Buborék rendezés
    alg
    117 pascal logo 120
    Maximum kiválaszás
    alg
    c++ pascal logo php
    Mátrixok szorzása - dinamikus 165 php java 168
    Leghosszabb közös részsorozat - dinamikus 169 170 php 172
    Verem megvalósítása láncolt listával
    doc
    185 186 187
    c++
    Sor megvalósítása láncolt listával
    doc
    188 pas 190 191
    Pacman játékprogram
    xls
    197 198 199
    Nemes Tihamér Országos Informatikai Tanulmányi Verseny - Programozás kategória versenyfeladatok megoldásai
    78_3.3.2
    78_3.3.4
    1112_3.3.1
    1112_3.3.2