abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | Komunita Ladislav Hagara | Komentářů: 7
    včera 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 2
    včera 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Zajímavý software

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    včera 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 6
    4.6. 14:33 | Zajímavý článek

    Stovky Indů předstíraly, že jsou neuronová síť. Vzestup a pád Builder.ai.

    Ladislav Hagara | Komentářů: 10
    4.6. 13:33 | Komunita

    Při operaci Pavučina, tj. rozsáhlé diverzní akci ukrajinských bezpečnostních sil, provedené 1. června 2025, při které byly bezpilotními kvadrokoptérami napadeny ruské strategické letecké základny hluboko na území Ruské federace, byl použít [𝕏] svobodný software ArduPilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPLv3.

    Ladislav Hagara | Komentářů: 31
    4.6. 10:44 | Zajímavý článek

    V polovině května uplynul jeden rok od spuštění aukcí CZ domén, které provozuje sdružení CZ.NIC. Hlavním cílem bylo zpřístupnit uvolňované domény z registru (po expiraci nebo smazání) většímu okruhu zájemců. Před spuštěním aukcí se totiž k takovým doménám dostávalo jen několik málo subjektů, které uvolňované domény „odchytávaly“ s velkou úspěšností díky automatizovaným systémům k tomu připraveným. Běžný zájemce neměl reálnou šanci

    … více »
    Ladislav Hagara | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (33%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 209 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Mizerná knížka, ale dobré cvičení

    25.9.2007 22:26 | Přečteno: 1525× | erlang | Výběrový blog | poslední úprava: 25.9.2007 23:34

    O víkendu jsem si vzal do vlaku na čtení Algoritmy, Datové struktury a programovací techniky od Computer Pressu. Ta kniha je plná chyb, popisky v textu nesouhlasí s obrázky, na mnoha místech nesmyslně přeložená a spousta dalších podobných nepříjemností. Část z toho vzniklo zjevně při překladu, ale dost hodně je také věcí velmi mizerné redakce. To je ale u Computer Pressu celkem obvyklé, skoro by se dalo říct, norma. Nicméně mě to přimělo si některé příklady zkusit vyřešit jen tak cvičně.

    Ke kapitole 2:

    -module(exer2).
    -compile(export_all).
    -define(DO8(X), X, X, X, X, X, X, X, X).
    -define(DO64(X), ?DO8(?DO8(X))).
    
    %%% 2.1
    % reverse jako přirozená rekurze
    % Stupid and ineffective of course (čistě jen jako test)
    reverse_natural([]) -> [];
    reverse_natural([H|T]) -> reverse_natural(T) ++ [H].
    
    % reverze s pomocnou proměnou
    % With Acc - realy fast
    reverse(L) when list(L) -> reverse(L, []).
    
    reverse([], L) -> L;
    reverse([H|T], L) -> reverse(T, [H|L]).
    
    %%% 2.2
    % binární prohledávání seřazeného pole, nemaje pole, použito na tuple
    % udělat si seřazené tuple lze například:
    % list_to_tuple(lists:sort(
    %       lists:map(fun(_)->random:uniform(100) end, lists:seq(1,10))
    % )).
    binSearch(T, N) when tuple(T)-> binSearch(T, N, 1, size(T)).
    
    binSearch(T, N, P, P) -> N == element(P, T);	% only speed up
    binSearch(T, N, S, E) when S < E ->
    	P = (E+S) div 2,
    	M = element(P, T),
    	if	M == N -> true;
    		M < N -> binSearch(T, N, P+1, E);
    		true -> binSearch(T, N, S, P-1)
    	end;
    binSearch(_, _, _, _) -> false.
    
    %%% 2.3
    % převod čísla do binární soustavy
    integerToBin(N) when integer(N) -> integerToBin(N, []).
    
    integerToBin(0, []) -> "0";
    integerToBin(0, L) -> L;
    integerToBin(N, L) -> integerToBin(N div 2, [ N rem 2 +$0 | L ]).
    
    %%% 2.5
    % největší společný dělitel
    % (elegantní, ale na dc verzi '?[dSarLa%d0<a]dsax+p' to stále nemá)
    bcd(A,0) -> A;
    bcd(A,B) -> bcd(B, A rem B).
    
    %%% Benchmarking
    % pár funkciček na měření časové náročnosti
    timeIt(X) -> timeIt(X, 1000).
    
    timeIt(X, N) ->
    	statistics(runtime),
    	for(1, N, X),
    	element(2, statistics(runtime))/N/1000.
    
    for(S, E, F) when S < E-64 -> ?DO64(F()), for(S+64, E, F);
    for(S, E, F) when S < E -> F(), for(S+1, E, F);
    for(S, S, F) -> F().
    
    % funkce na změření kolik zabere for
    % exer2:timeIt(fun exer2:empty/0, 10000000).
    % cca 60 ns na AMD Athlon 1.2
    empty()->ok.

           

    Hodnocení: 60 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    b42 avatar 25.9.2007 22:48 b42 | skóre: 12 | Ostrava/Brno
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Mohu potvrdit, ta kniha je opravdu hrozna. Bez nejakeho dalsiho zdroje (wikipedie, ...) bych spoustu veci vubec nepochopil. Na druhou stranu, casto to cloveka primeje si to dohledat a pripadne vyzkouset.
    26.9.2007 07:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Jojo, wikipedii jsem musel taky navštívit. Bez toho by třeba kapitola o prohledávání textů byla úplně k ničemu.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Martin Stiborský avatar 25.9.2007 23:24 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Hmm, dobrá náhoda .. pozítří si ji hodlám koupit ..
    Pokud má někdo tip na jinou publikaci na stejné téma, budu vděčný ...
    Kvík ..
    Fluttershy, yay! avatar 25.9.2007 23:25 Fluttershy, yay! | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Taková fialová bichle od nějakého Germána, tuším.
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    25.9.2007 23:28 bodo
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Robert Sedgewick - Algoritmy v C :)).
    Fluttershy, yay! avatar 25.9.2007 23:30 Fluttershy, yay! | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Jo, to je ona, ta dobrá.
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    frEon avatar 26.9.2007 14:49 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    nevite vysel uz druhy dil (presneji receno 5-8 v jednom baleni?)
    Talking about music is like dancing to architecture.
    26.9.2007 21:33 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    části 6-8 by měl už být třetí díl :-) První dva se dají sehnat v AJ a první i v ČJ (knihkupectví Neoluxor, Kanzelsberger). Že by třetí vyšel v AJ a druhý byl v ČJ pochybuji. :-)

    No a pak je tu ještě (také nedokončená) série od D. Knutha :-) Ono v této oblasti přeci jen asi ještě nebylo řečeno poslední slovo...
    26.9.2007 21:36 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Ještě doplnění - ty Sedgewickovy knihy jsou ve verzích s C, C++ a Javou. Ty algoritmy se asi moc neliší, nejspíš jde jen o jazyk, ve kterém jsou ukazovány příklady.
    26.9.2007 16:57 laco
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    No, pozdě, já už jsem si ji koupil. Co se tu píše o knize je v podstatě pravda. Ale není to zdaleka jen výsada tohoto vydavatelství.
    26.9.2007 21:55 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Pavel Töpfer: Algoritmy a programovací techniky, to je výborná kniha do začátku, která je navíc prakticky zadarmo (nějakých 90 Kč).
    29.9.2007 13:52 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    29.9.2007 19:11 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Tuhle rozhodně nebrat.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    25.10.2007 15:09 dzony
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Opravdu je to tak spatne? Tedka jak probiha invex tak je sleva 10%(+ dalsich 10 za clenstvi) tak nad ni uvazuji
    26.10.2007 13:35 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Osobně bych si ji nekoupil.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    19.11.2007 08:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Mizerná knížka, ale dobré cvičení
    Inteligentní člověk si koupí nebo stáhne tohle - nevěřím, že dnes existuje něco lepšího. :-) Ale ta knížka je, pravda, docela nová. Bohužel "lepiče v džavě" asi tolik nezaujme... ;-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.