eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingsortowanieRe: sortowanie
  • Data: 2012-10-14 00:41:44
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2012-10-13 16:58, Edek Pienkowski pisze:
    > Dnia Sat, 13 Oct 2012 16:13:55 +0200, bartekltg napisal:
    >
    >> W dniu 2012-10-13 16:13, Edek Pienkowski pisze:
    >>
    >>>
    >>> Peephole - o ile wszyscy rozumieją przez to to samo - to zbiór drobynch
    >>> optymalizacji kodu przeprowadzanych na niewielkim fragmencie kodu, stąd
    >>> przynajmniej jest nazwa. Jest to optymalizacja obecna we wszystkich
    >>> optymalizujących kompilatorach, niektóre robią ją kilka razy tak
    >>> dla oczyszczenia, bo po to głównie jest.
    >>
    >> Ok, to wiem, ale... przecież to nie na temat.
    >>
    >> Pytamy się, co byś polecił na zapoznanie się z algorytmiką,
    >> a ty odpowiadasz 'szukanie wąskich gardeł'. To jest bardzo
    >> pożyteczne i rozwijające zajęcie, ale algorytmika jest o czym innym.
    >
    > Shite. To powiedz mi, o czym jest algorytmika.

    Zawsze myslalem o tym, jako o nauce projektowania algorytmów.
    Ale nie mikroptymalizacji, tylko takim bardziej ogolnym.

    Obok jest dyskusja o qsorcie. Na takiej algorytmice student na dzien
    dobry ląduje z qsortem. Ma załapać ideę. Robimy podział
    porządkujący, i odpalamy rekurencyjnie.
    Ma rozumieć, dlaczgo to prowadzi do szybkiego posortowania.

    Od tego, czy będzie tam warunek sprawdzający zakres, czy
    student sobie poradzi bez niego, ważniejsze będzie
    zrozumienie niezmienników.


    > Ten sam problem: nie wiem - jak widać - co to jest algorytmika. Przynajmniej
    > ta "czysta". Nie potrafię ekstrapolować z sorta, jedynego w takim razie
    > przykładu, że to algorytmika.

    Myślę, że tu nie chodzi o sorta, tylko o nauczenie pewnego
    zestawu narzędi i sposobu myślenia _przydatnego_ przy
    projektowaniu algorytmów.
    Podstawy analizy zlozonośći, myślenie o niezmiennikach,
    ale też zwracanie uwagi na sytuacje krańcowe
    ("Z pętlą jest jak z lotem samolotem. Najtrudniejszy jest
    start i lądowanie. Sam lot jest stosunkowo prosty"//Diks;))


    > Widziałem prace z obu tematów w kwestii rozwiązywania problemów NP-hard
    > i uważałem to za algorytmikę, ale już teraz nic nie wiem.

    Wiesz, ludzie pisząc prace z analizy atakują równie trudne problemy.
    Ale jednak analiza na pierwszym roku to całki i różniczki.
    I to całki i różniczki, czyli 200-300 letnie podstawy będą
    potrzebne inżynierom, nie najnowsze wyniki w sprawie istnienia
    rozwiązań równań naviera-stokesa;)

    Chociaż masz trochę racji. Mówimy na to popularnie
    algforytmika, a takin MIM nazywa to algorytmi
    i struktury danych. Algorytmika to osobny przedmiot,
    semestr później i tam robi się druga polowę Cormena
    (czyli właśnie m.in wspomina o tych zawansowanych
    problemach z klasami obliczalnosci).


    >>> Powtarzać "dlaczego" akurat te uważam za idealne do nauki znajdziesz w
    >>> poprzednim poście, i mam gdzieś, że ktoś uważa Algorytmikę przez duże A za
    >>> coś innego, np. obliczenia numeryczne i nic poza tym (spotkałem się też z
    >>> takim podejściem).
    >>
    >>
    >> Nikt nie mówi, że to nie jest ważny obszar.
    >> Ale nie są to za Chiny ludowe podstawy algorytmiki:)
    >
    > Link? Chyba że chce się pisać.

    Link do tego, że moim skromnym zdaniem, na przedmiocie
    o algorytmice na pierwszym/drugim roku uczyć się powinno
    raczej jak budowac algorytmy (zaczynając od trywialnych
    przykładów, jak sortowanie, algorytm euklidesa, drzewa
    czy potęgowanie)?
    Jak tylko załoze bloga, na razie będzi tekstem.


    >
    >> Ok, nieważne
    >
    > Zazwyczaj nie gadasz bzdur, więc moze czegoś się dowiem.

    :)
    Ale ostrzegam, ja nie jestem prawdziwym informatykiem.



    > Przeczytałem wikipedię polską i angielską - poza tym, że polska mówi o
    > etymologii z XIX wieku a angielska o XII w. i nadużyciu słowa w XIX - nic
    > się nie dowiedziałem. Znalazłem tylko tą definicję z "... worker/solver
    > moving around a problem vector space ...", taką bliską sercu.

    Trochę nam chyba ucieka dyskusja. Ustalać definicji algorytmiki
    się nie podejmuję. Pozostańmy przy tym, z czym zapoznać studenta
    w ramach takiego przedmiotu.

    Ja uważam, że powinno się ich nauczyć metod pomocnych
    w atakowaniu problemów niesprowadzających się wprost
    do 'wpakuj do kontnera i posortuj'.

    Powiedzmy, okolice średniej trudności z tego:
    http://potyczki.mimuw.edu.pl/user.phtml?op=zadania

    No i oczywiście uświadomienie istnienia pewngo pakietu
    znanych algorytmów. Takie find-union czy drzewa
    przedziałowe przydają się czasem, a w STL ich nie ma.
    Pewnie są w boost, ale trzeba wiedzieć, czego szukać.


    pzdr
    bartekltg

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: