Portál AbcLinuxu, 4. května 2025 12:06
KSP je formulace celkem jednoduchych VS problemuPro složitější úlohy mohu doporučit mezinárodní olympiádu z programování
def qsort(a) return [] if a.empty? lo, hi = a[1..-1].partition{|x| x<a[0]} qsort(lo) + [a[0]] + qsort(hi) endTakže na tom se fakt nic nenaučí.
Jestli Ti jde o obecnou algoritmizaci, doporucuju projit prvni rocniky informatickych fakult. Materialy byvaji na netu. U nas na FITu to byly nejake zaklady programovani (obecne o sprave pameti, ukazatele, seznamy - vsechno demonstrovane na Pascalu, ale pry uz presli na C) a potom Abstraktni Datove Struktury (seznamy, stromy, razeni, etc.).
Co se ale tyka te matematiky - v nejakych pokrocilejsich konstrukcich se bez alespon zakladu teorie grafu moc neobejdes - hodne uloh se prevadi prave na tohle (pozn. strom je taky graf). Na druhou stranu zaklady teorie grafu jsou oblibenou hrackou pro deticky na ruznych matematickych olympiadach, takze dost z toho uz mozna znas, jenom to neumis pojmenovat.
Co se tyka OOP (a ted nemluvim o pratelich pana Arafata), to bych do toho nemichal. OOP je o navrhu a o stylu programovani. Pokud nebudes umet klasicky (linearni) styl, OOP Ti nepomuze - spis Ti naopak zamota hlavu.
Osobne bych doporucoval trochu neco zjistit o dynamicke alokaci pameti (nejlepe styl Ccka, at vis zhruba o cem to je), potom abstraktni struktury (seznam, zasobnik, fronta) a na nich si vyzkousej nejake razeni (dobre vedet, ze existuji i jine algoritmy, nez bubble sort). Na zaver si zkus par algoritmu se stromem (pruchody stromem, vkladani/mazani prvku) a pokud se dostanes i pres to, mel bys v prubehu mit dost zkusenosti, abys vedel cemu se venovat dal (treba to OOP, hrani s typy, etc.)
"Co se tyka OOP (a ted nemluvim o pratelich pana Arafata), to bych do toho nemichal. OOP je o navrhu a o stylu programovani. Pokud nebudes umet klasicky (linearni) styl, OOP Ti nepomuze - spis Ti naopak zamota hlavu."Jo, a navíc je to ještě jen podmnožina návrhu a stylu programování, která se v SICP odbyde jako jedna z několika možností.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.