A programozáshoz miért szükséges tanulni a gráfokat és hasonlókat?
A kerettantervben ezeket írják:
"Hash táblák felépítése, műveletei.
Fa adatszerkezet felépítés, műveletei, bejárások típusai. Bináris fák, rendezett bináris
fák, alkalmazási területek (pl. rendezés, keresés, játékok)
Gráf adatszerkezet felépítés, műveletei. Gráfok szélességi és mélységi bejárása,
alkalmazási területek.
Az „A*” (A star) algoritmus és alkalmazási területei."
Ezeknek hol van a gyakorlati haszna? Ha egyáltalán van.
Nehéz tanulni ezeket?
Nem olyan nehéz.
Pl. adatbázisban való keresésnél van hasznuk. Szerintem a Te számítógépeden is nap mint nap futnak ilyen algoritmusok.
Nem szükséges. Csak a programozás egyes nagyon speciális területein van szükség ilyesmire. A gyakorlatban a bináris fa adatszerkezetet szinte semmire nem használjuk, vagy ha igen, akkor maga az adatszerkezet rejtve marad. A gráfokkal ugyanez a helyzet, csak bizonyos speciális területeken használatosak, különösen a bejárási algoritmusok.
Az, hogy mindezt mégis tanítják, annak a bizonyítéka, hogy a tananyag elavult és gyakorlatiatlan.
A Progmasters fizetős programozósuliban is oktatnak hasonlókat:
Ezekre azért nem mondanám, hogy elavult tananyagok.
Igen, de a tananyagot végigböngészve itt pont akkora szeletet képviselnek a fák és a gráfok, amekkorát megérdemelnek. A főiskolai, egyetemi tananyagban sokkal nagyobbat, miközben a gyakorlati programozás terén kb. egy hello world szintre juttatnak el.
Én is voltam Java tanfolyamon, az itt leírtak többsége előkerült, a fák és a gráfok nem. Programozói karrierem során szintén soha nem volt rá alkalom, hogy ezeket használnom kellett volna. (TreeSet collectiont használtam, de ahhoz nem kell a faszerkezetet érteni.)
A kérdésedben benne van a válasz.
Ezeken a területeken van haszna: "pl. rendezés, keresés, játékok".
Miket írnak itt...
Nekem 1 éves szakmai tapasztalatom sincsen, mégis kellett már írnom szélességi és mélységi bejárást, dolgoztam már bináris fával, pedig nem vagyok speciális területen.
"Hash táblák felépítése, műveletei"
"Ezeknek hol van a gyakorlati haszna? Ha egyáltalán van."
Talán ott, hogy megfelelő adatszerkezetet tudj választani a problémához, és ne használj sort vagy tömböt ott, ahol a hash tábla sokkal hatékonyabb (és fordítva).
Sikerült pont olyan dolgokat felsorolnod, amiknek az ismerete elengedhetetlen ahhoz (de messze nem elég), hogy minőségi kódot tudj írni.
Még ha azt kérdezted volna, hogy minek tanítanak egyetemen analízist, azt megérteném (mellesleg annak is nagyon sok haszna és felhasználási területe van).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!