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:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 6
    včera 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 8
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    7.8. 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 5
    7.8. 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (47%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 314 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

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

    25.9.2007 22:26 | Přečteno: 1526× | 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.