Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Něco navíc v zeleném?
A proč ne...

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Archiv klubu JavaScript [ŽP: neomezená] (kategorie Programování) moderuje Šéf Lopuchu.
- http://al3x.3web.cz/js/ - najdete zde zaklady javascriptu je tam i docela dobre vysvetleny cookies
- specifikace ECMAScriptu - standard založený na JavaScriptu a JScriptu.
Download Opera
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
   
[ 150 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
bredy 18.5.2006 08:26  239
KdokolivJo, i když tady backtracking zůstal. Jen je tu zase pěkně vidět ořezávání toho stavového prostoru. Zrovna na těch příkladech co tam jsou mám dokonec pocit, že ten stavový prostor ve tvaru stromu se redukuje na spojový seznam, maximálně bude mít par slepých odboček
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 18.5.2006 08:14  238
2Kdokoliv: Mě to hlava nebere, ale nefungujou mi zkrátka některé buttony a navíc to vyřazuje lopušáckej Reply script :-). Zkus si ho nainstalovat a uvidíš.
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 18.5.2006 08:06  237
Johny_G: No dobry, tak ted uz vime, co se snazis delat, a ted jeste co Ti vlastne nefunguje? :-) Ja si proste nedovedu predstavit, jak by tohle nahrazovani mohlo tu postu rozhodit, ale bohuzel to ted nemam par dni dost dobre jak odzkouset...
Bredy: Takhle - optimalizovat algoritmus lze samozrejme vsemozne a asi by se na tom dala postavit i ruzna zajimava teoreticka cviceni. Ale zas to potom ztraci to kouzlo ukazky kompletniho backtracku. :-) Na druhe strane se na tom da ukazat, jak moc muze byt backtrack spatny a jak je proto dobre se zamyslet, jestli nejde jit jinudy. :-)
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 18.5.2006 06:31  236
Bredy [235]: Necelá vteřina namísto 3/4 minuty. To je dost solidní optimalizace ;-).
bredy 17.5.2006 22:58  235
KdokolivNo zrychlil jsem to až 10x
Na každém políčku si vede informaci o číslech, které tam nesmějí být (GetForbidenNums) a při výběru políčka dává přednost těm, co mají menší množství možností.

Pro manipulaci s informací o zakázaných číslech se používá bitové pole (simulované v intu)
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 17.5.2006 18:12  234
A dodatek - odesílání na TurboUploadu taky nejede.
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 17.5.2006 18:11  233
Kdokoliv [232]: Chci se zbavit některých otravných akronym. Čistě na zkoušku jsem vyměnil WTZ za (censored), abych zřetelně viděl, že se to přepsalo. Čili:
a = a.replace(/WTZ/g,"(censored)");
a = a.replace(/Wtz/g,"(censored)");
a = a.replace(/wtz/g,"(censored)");
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 17.5.2006 16:01  232
Johny_G: Pokud nenapises, co presne nahrazujes cim, tak Ti tezko asi nekdo poradi, kde se rozbila posta...
Bredy: Vsak jo, ja jsem i pochopil, proc ta funkce zkouma ktera policka a proc vraci, co vraci, jenom ze se proste clovek musel dele zamyslet, ponevadz to nebylo videt na prvni pohled. Ty navrhy optimalizace jsem psal proto, ze by bylo zajimavy zjistit, jestli by to tomu behu ve Firefoxu (napriklad) pomohlo.
bredy 17.5.2006 13:05  231
Mimochodem rychlost skriptůOpera: cca 8s
Mozilla: cca 40s
IE6: cca 30s
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 17.5.2006 12:58  230
Bredy [226]: Na straně klienta se ta hláška odstranit dá. V about:config se nastaví dom.max_script_run_time na nulu. Firefox se sice tváří jako zaseknutej, ale po dokončení skriptu se zase probere. Jak to ošetřit na straně skriptu (patrně nějakým odesíláním informace o běhu), to už musí vymyslet někdo zkušenější.
bredy 17.5.2006 12:54  229
KdokolivNo měla to být jen ukázka vlastního řešení, nikoliv implementace. Samozřejmě, že by to šlo všelijak optimalizovat. Například zrovna Solve +1 je spíš podle toho, že mu posílám souřadnice políčka, které je už hotové (ulehčil jsem si práci), a return zase má význam ten, že true znamená počítej dál, zatímco false znamena skonči (našli jsme řešení, a uživatel si nepřeje hledat další).

Počítat to přes pole by šlo. Už mne to napadlo (tohle bylo za hodinku hotové). Stejně tak existuje spoustu možností, jak hledání řešení urychlit (například najít evidentní situace, pak hledat čísla v hustých místech a následně pak v řidkých)
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 17.5.2006 12:51  228
Kdokoliv [227]: Jen kratičkou funkci:
function()
{
var a = document.body.innerHTML;
a = a.replace(/nechtěný text/g,"nahrazující text");
document.body.innerHTML = a;
}
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 17.5.2006 12:44  227
Johny_G: To dost zalezi na tom, cos vlastne vyvadel.
Bredy: Pekne. Jenom pokud to melo slouzit jako nejaka ukazka, tak by to mohlo byt trochu prehlednejsi nebo okomentovane. :-) Obzvlast v pripade, ze ta funkce Solve ve skutecnosti resi souradnice o sloupec dal, nez co se ji posila, a jeste ke vsemu v pripade uspechu vraci false. :-)
Pokud jde o tu rychlost - nepomohlo by mit pole referenci na vsechna policka na strance (tedy pole1[0][0] by bylo document.getElementById("pole00")) a druhy pole hodnot vsech policek (tedy pole2[0][0] by bylo document.getElementById("pole00").value), pricemz pokud je potreba jenom nejakou hodnotu zjistit, tak by se to jenom podivalo na pole2[i][j], pouze pokud by ji bylo potreba i zapsat, tak by se updatovalo jak pole2[i][j], tak i pole1[i][j].value? Pak bych taky asi misto parseInt(x/3) volal mozna spis Math.floor(x/3), ale nepredpokladam, ze by mezi tim byly nejake zasadnejsi vykonnostni rozdily.
bredy 16.5.2006 20:58  226
pro procvičení rekurze jsem si napsal jednoduchý Sudoku solver. Je to teda na principu brutal-force, ale není to nějak extra pomalé.

Nevíte někdo náhodou, jak se zbavit v mozille okének, co mne upozorňuje, že skript je moc pomalý, a zda ho nechci náhodou zastavit? Asi se nedá nějak javascriptem notifikovat interpreter, že stále ještě žiju (a počítám)
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 16.5.2006 20:09  225
Aha, tak až tak perfektně ne. Nefungujou mi s tím tlačítka v lopuší poště :-). Jak je to možné?

[ 150 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt