pomoc s algoritmi

HackForum

pomoc s algoritmi#
Cauves, rád bych, kdybyste sem pokaždý hodili nějaký algoritmy, jakýkoli znáte..prostě si dělám sbírku algoritmů. Třídící jako bubblesort, quick apod už mám, Prostě cokoli vás napadne...Díky moc! Zdarec
(odpovědět)
Martinas | 88.102.234.*30.10.2007 23:14
re: pomoc s algoritmi#
Co treba tohle? :)
[link]
Tu sbirku bych pak rad videl, pokud nebudes mit nic proti. Pokud bys byl tak hodny a ozval se treba na ICQ. Diky.

----------
public static void main(String args[]){
 throw new UnsupportedOperationException("Not implemented!");
}


(odpovědět)
pr0ph3t31.10.2007 0:35
re: pomoc s algoritmi#
cauky, k ty zbirce bych se hlasil taky. Jeste kdyztak napis jaky uz mas... Jinak takovy ty veci jako binarni vyhledavani, binarni strom, dynamicke pole atp. ti muzu popsat, pokud chces neco exotictejsiho tak si porid nejakou knihu (osobne doporucuju od Topfra.) TAk pokud mas zajem tak sem dej vedet, at ti sem nepisu co uz mas. :)

ps.: mrkni na kucharky u ksp.mff.cuni.cz, je tam hodne uzitecnejch veci :)
(odpovědět)
babca | 80.188.22.*31.10.2007 12:24
re: pomoc s algoritmi#
jo a jeste asi pred mesicem mel tepfer hezkou prednasku (k MO-P) a ukazoval/vysvetloval indexovy strom :D
(odpovědět)
babca | 80.188.22.*31.10.2007 12:25
re: pomoc s algoritmi#
Tu sbírku uvidíte všichni, nebojte se.. Jinak kuchařku na ksp jsem už viděl. bsearch, a třídící algoritmy už mám.. Co je to dynamické pole?
(odpovědět)
Martinas | 77.48.14.*31.10.2007 12:39
re: pomoc s algoritmi#
mno, takl nejspis znas klasicke staticke pole (C)
int pole[10];
tedy musis znat jeho velikost jeste pred kompilaci. A tak pokud mas problem, za muzes na vstup dostat az miliardu (prehanim) cisel, tak to znemena ze muzes dostat 0 az tu miliardu, ale alokovat zbytecne takove mnozstvi pemeti (myslim sizeof(int)*miliarda), kdyz dostanes treba jen tisic cisel, je pametove (lehce i casove) narocne. Proto se vytvari datova struktura dynamickeho pole (linearni jednosmerny spojovy seznam). Pokud se budem bavit o jednosmernem poli, tak by struktura vypadala nejak takto:

typedef struct PRVEK{
int i;
struct PRVEK *dalsi;
} POLE;

Jelikoz uz ale c++ ma (aspon myslim) moznost dynamicky alokovat prostor v prubehu programu, tak uz se toto moc nepouziva...

----------
Když nejde o život, tak o hovno de...

Charles Bukowski - kdo zna, ten vi :)
(odpovědět)
BabCA SjEs | E-mail | ICQ 40645219231.10.2007 15:56
re: pomoc s algoritmi#
ano, c++ nemá určitě problém s dynamicky alokovaným prostorem.

----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website31.10.2007 18:47
re: pomoc s algoritmi#
:D. mno vono sem tam stejne napsal asi kravinu, jelikoz v c muzes pamet alokovat pomoci mallloc :) a tim vytvorit dynamicke pole (muzeme ho vytvorit kdykoliv chceme, ale stejne musime znat jeho velikost), tak to beru zpet. Omlouvam se vsem :D. Jinak se tadle metoda pouziva/la v pascalu, jelikoz, tam uz to "snad" mozny neni (Vsem Pascalistum se omlouvam :)). (Ja sem todle pouzil jen jednou, jako demonstraci :))

----------
Když nejde o život, tak o hovno de...

Charles Bukowski - kdo zna, ten vi :)
(odpovědět)
BabCA SjEs | E-mail | ICQ 40645219231.10.2007 21:04
re: pomoc s algoritmi#
ono nejde dynamicky alokovat pole takhle?

void main(int argc, char *argv[]){

int pole[atoi(argv[1])];
}

mě se zdá, že mi to gcc přeloži, ani mu to moc nevadí :-) (a taky vím, že ten kód má chyby, které jsou v tomto případě nepodstatné detaily)


----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website31.10.2007 22:02
re: pomoc s algoritmi#
Ano presne, vyuzivat seznamy jako pole je v C++ imho naprosto zbytecne. Mas nekolik moznosti jak to obejit. Jak uz jsi rekl, tak je moznost pomoci dynamicke alokace a realokace pameti delat s polem temer cokoliv. Jsou ale i jine zpusoby. No a asi nejelegantnejsi zpusob jak tohle vsechno obejit je pouzivat kontejnery, v tomto pripade napriklad vector.

----------
public static void main(String args[]){
 throw new UnsupportedOperationException("Not implemented!");
}


(odpovědět)
pr0ph3t1.11.2007 14:38
re: pomoc s algoritmi#
Todle ja nepopiram (pokud to v textu vyznelo, tak se omlouvam), to byl jenom priklad. Samozrejme pokud umis pracovat s pameti, tak to je uplne bez problemu.

Jinaktodle byl (ne moc sikovnej) priklad. Jine vyuziti je taky, ze muzes ty polozky pridavat (pokud umis s pameti tak to de taky). Je to neco na zpusob pythonu:

s=[1,2,3] # pole o velikosti 3
s.append(5) # zvetsi velikos pole na 4
# a na konec pridej 5

(odpovědět)
babca | 213.235.188.*1.11.2007 15:13
re: pomoc s algoritmi#
Pokud ti jde o algoritmy, tak [link]
(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797631.10.2007 16:31
re: pomoc s algoritmi#
tady mas jeden algoritmus:
[link]
(odpovědět)
kreeg | 84.19.69.*2.11.2007 12:12

Zpět
 
 
 

 
BBCode