.[ ČeskéHry.cz ].
std::vector a rekurze
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
]semo[



Založen: 29. 07. 2007
Příspěvky: 1481
Bydliště: Telč

PříspěvekZaslal: 7. březen 2014, 15:43:51    Předmět: Odpovědět s citátem

Nene, já už končím, o tomhle tématu se bavím často s kámošem na icq a už mě to nebaví :).
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 758
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 7. březen 2014, 16:18:10    Předmět: Odpovědět s citátem

]semo[ napsal:
To mě vždycky tak rozesmutní. Je to napsat, že "moře je podle mě špatné, mělo by se jezdit jen na rybníku" Neni to tak nebezpečné, že...? Smile


Fráze, kterou jsi asi hledal je "Lednička probíjí a má ulomené madlo. Ale když si nasadíš gumové rukavice, tak není tak nebezpečné si z ní něco vzít" Wink
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
perry



Založen: 28. 07. 2009
Příspěvky: 870

PříspěvekZaslal: 7. březen 2014, 17:40:49    Předmět: Odpovědět s citátem

Obecně, kde to jde rekurzi necpat.. nicméně zrovna u traverzace stromů mi přijde imho přehlednější než iterační kód.

Ale psát, že C++ je na hovno jazyk.. jako prasečina jde napsat všude. Podle mě je třeba absolutní čuňárna právě Lisp.. měl jsem tu čest jednou a nikdy více to nechci vidět.
Btw.. pokud někomu přijde C++ jako čuňárna, doporučuji Objective-C -> plně to podporuje čunárny C + to má čunačiny od Objective-C
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 7. březen 2014, 18:14:07    Předmět: Odpovědět s citátem

]semo[ napsal:
U těch příkladů, co si poslal, je samozřejmě jedno velké ALE: nikdo tě nenutí to psát takhle. A musel bys být fakt velké prase, abys to tak psal. U C++ zkrátka záleží na tom, jakým stylem budeš psát. U jiných jazyků ti ten styl většinou někdo vnutí.


v tomto je tak trochu zakopany pes. Co jeste neni a co uz je prasacky zapis je ciste subjektivni a vychazi z velke casti ze zkusenosti kazdeho programatora. Nevidim nic v cem by c++ bylo lepsi nez treba c. Problem je ze syntaxe umoznuje ruzne (subjektivni) zapisy stejne veci (ci velmi podobne + je nutne mi hlubokou znalost semantiky prekladace - viz. ten druhy link). Tym vyvojaru se pak casto dohaduje co je a co uz neni syntakticka cunarna (namisto toho aby se zabyvali funkcionalitou, lepsimi/rychlejsimi algoritmy apod.). Objektivnim meritkem je korektnost chovani programu (zde patri i bezchybnost) a rychlost (zde patri big O atd..). Tyto dve veci lze objektivne merit(!). Ale co je a co uz neni prasacky zapis je ciste subjektivni. Jedna z kvalit lispu/scheme je v tom ze syntaxe je v porovnani s c++ temer nulova a presto se lze hlavne diky homoiconicite vyjadrovat velmi expresivne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 536

PříspěvekZaslal: 8. březen 2014, 00:32:02    Předmět: Odpovědět s citátem

perry napsal:
Obecně, kde to jde rekurzi necpat.. nicméně zrovna u traverzace stromů mi přijde imho přehlednější než iterační kód.

Tak když už jsme u té rekurze, musím říct, že jsem velmi překvapený, že ještě dnes (evidentně) spousta lidí holduje mýtům o rekurzi (nemám na mysli tebe Smile, že je pomalá, nebezpečná, atd.
Když jsem ještě psal šachový engine, pamatuji si lidi, co přepisovali rekurzivní hledání na iterativní.
Ve výsledku nejen, že prakticky nezískali nic na rychlosti, ale ztratili čas přepisem a výsledkem byl nečitelný kód.
Samozřejmě jsou věci, na které by snad nikoho nenapadlo ji použít.
Dalších mýtů existuje spousta, namátkou třeba to, že iterování vektoru přes iterátory je rychlejší, než iterování přes smyčku s indexováním od nuly do size, ve skutečnosti je pravdou opak, protože překladač je indexovanou iteraci schopný zvektorizovat (pokud je tělo smyčky dostatečně jednoduché) apod., ale to už jsem hodně odbočil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 8. březen 2014, 01:09:51    Předmět: Odpovědět s citátem

perry napsal:
Obecně, kde to jde rekurzi necpat..


zajimave obecne pravidlo. jazyk scheme ve svem zakladu zadny jiny zpusob "cyklu" nema a to je starsi nez c++ a to docela dost (pokud studujete zaklady lisp-1 tak je rozdil v desitkach let). zvlastni. kdyz jsem byl jeste na vysoke skole tak rekurze byla jeden ze zakladnich zpusobu jak se "vyjadruji" reseni problemu. asi jsem uz moc stary.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
josh



Založen: 30. 07. 2007
Příspěvky: 74

PříspěvekZaslal: 9. březen 2014, 08:24:37    Předmět: Odpovědět s citátem

quas4 napsal:
perry napsal:
Obecně, kde to jde rekurzi necpat..


zajimave obecne pravidlo. jazyk scheme ve svem zakladu zadny jiny zpusob "cyklu" nema a to je starsi nez c++ a to docela dost (pokud studujete zaklady lisp-1 tak je rozdil v desitkach let). zvlastni. kdyz jsem byl jeste na vysoke skole tak rekurze byla jeden ze zakladnich zpusobu jak se "vyjadruji" reseni problemu. asi jsem uz moc stary.


Je to tak. Ses starej Smile Na druhou stranu, zrovna hodně frci funkcionální rysy (clojure, Scala, csharp), takže kdo studoval CS ma jasnou výhodu Smile

Ale je fakt, ze je to trochu vomrd, myslet na to aby mi rostl stack max sublinearne nebo mít to zapsány jako tail-call. To bude asi ten problém proč se toho kde kdo boji a radši obětují čitelnost a udrzovatelnost kodu ve prospěch cyklu.
_________________
Tak Karle, kolik?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna