eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › sortowanie
Ilość wypowiedzi w tym wątku: 567

  • 11. Data: 2012-10-12 20:38:02
    Temat: Re: sortowanie
    Od: "M.M." <m...@g...com>

    W dniu piątek, 12 października 2012 18:26:27 UTC+2 użytkownik identyfikator: 20040501
    napisał:
    > sory za lameriadę, jaki algorytm sotrujący jest najprostszy w implementacji?
    > nie musi być szybki...
    Nie wiem dlaczego pytasz. Jesli chesz mozliwie najmniejszym
    wysilkiem posortowac dane, to rozejrzyj sie za jakas standardowa
    lista/wektorem ktore maja gotowe sortowanie.

    A tak w ogole, dla mnie jest najprostszy ten co wybiera maxa i
    wstawia na kolejne miejsca... zdaje sie ze to byl insertion sort.

    Pozdrawiam


  • 12. Data: 2012-10-12 21:08:36
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 12.10.2012 19:28, bartekltg wrote:
    > W dniu 2012-10-12 19:14, Michoo pisze:
    >> On 12.10.2012 18:28, Roman W wrote:
    >>> W dniu piątek, 12 października 2012 17:26:27 UTC+1 użytkownik
    >>> identyfikator: 20040501 napisał:
    >>>> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w
    >>>> implementacji?
    >>>>
    >>>> nie musi być szybki...
    >>>
    >>> Bubble sort?
    >> Nie wiem sąd się wziął ten mit - sortowanie przez wybór (selection sort)
    >> jest znacznie prostsze w implementacji i bardziej intuicyjne.
    >
    > Chwytliwa nazwa. Sięgnąłem do ASD Diksa i spółki. Tam
    > bąbelki prewencyjnie przemilczają;)
    Ale to jest ogólnie całkiem niezła książka. (A przydała mi się więcej
    razy niż Cormen.)

    Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
    poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
    projektować algorytmów". A potem licealiści/studenci na pytanie o
    najprostszy algorytm sortowania odpowiadają "bąbelki"...


    >
    > BTW, jakiś mały flejmik selectionsort vs insertionsort? ;>
    Tu nie ma o czym dyskutować ;) - selectionsort jest najszybszy w
    zapisaniu i najprostszy w wyjaśnieniu a poza przypadkami danych
    częściowo (mocno) posortowanych szybszy od insertion.

    Insertion jest niezły jako kolejny krok do uczenia algorytmów - można
    pokazać, ze coś co teoretycznie jest szybkie w praktyce po uwzględnieniu
    kosztu operacji na rzeczywistej pamięci ma ukryty koszt. No i na jego
    podstawie powstało sortowanie Shella, które jest naprawdę ciekawym
    (aczkolwiek niepraktycznym) rozwiązaniem.

    --
    Pozdrawiam
    Michoo


  • 13. Data: 2012-10-12 21:51:34
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 12.10.2012 20:38, M.M. wrote:
    > W dniu piątek, 12 października 2012 18:26:27 UTC+2 użytkownik identyfikator:
    20040501 napisał:
    >> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w implementacji?
    >> nie musi być szybki...
    > Nie wiem dlaczego pytasz. Jesli chesz mozliwie najmniejszym
    > wysilkiem posortowac dane, to rozejrzyj sie za jakas standardowa
    > lista/wektorem ktore maja gotowe sortowanie.
    >
    > A tak w ogole, dla mnie jest najprostszy ten co wybiera maxa i
    > wstawia na kolejne miejsca... zdaje sie ze to byl insertion sort.
    Selection sort. Insertion sort bierze kolejny element i wstawia go na
    właściwe miejsce w już posortowanych. Musi więc "rozepchać" te
    posortowane co się kiepsko robi z tablicą, ale np. z heapem już całkiem
    dobrze ;)

    --
    Pozdrawiam
    Michoo


  • 14. Data: 2012-10-12 22:48:29
    Temat: Re: sortowanie
    Od: Kviat <kviat@NIE_DLA_SPAMUneostrada.pl>

    W dniu 2012-10-12 20:38, M.M. pisze:
    > W dniu piątek, 12 października 2012 18:26:27 UTC+2 użytkownik identyfikator:
    20040501 napisał:
    >> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w implementacji?
    >> nie musi być szybki...
    > Nie wiem dlaczego pytasz.

    Wrzuć jego nick w google to się dowiesz.
    Karmicie trolla. Śmieci głównie na pl.praca.dyskusje, na grupach
    programistycznych i czasem innych, łapiąc jeleni, którzy odpowiadają na
    infantylne pytania. To jego stały numer. Jak widzi odzew to po chwili
    "jedzie" po PO i UE. Tutaj też już śmiecił i aż dziw bierze, że macie
    taką krótką pamięć.

    Pozdrawiam
    Piotr


  • 15. Data: 2012-10-12 23:20:10
    Temat: Re: sortowanie
    Od: bartekltg <b...@g...com>

    W dniu 2012-10-12 21:08, Michoo pisze:
    > On 12.10.2012 19:28, bartekltg wrote:
    >> W dniu 2012-10-12 19:14, Michoo pisze:
    >>> On 12.10.2012 18:28, Roman W wrote:
    >>>> W dniu piątek, 12 października 2012 17:26:27 UTC+1 użytkownik
    >>>> identyfikator: 20040501 napisał:
    >>>>> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w
    >>>>> implementacji?
    >>>>>
    >>>>> nie musi być szybki...
    >>>>
    >>>> Bubble sort?
    >>> Nie wiem sąd się wziął ten mit - sortowanie przez wybór (selection sort)
    >>> jest znacznie prostsze w implementacji i bardziej intuicyjne.
    >>
    >> Chwytliwa nazwa. Sięgnąłem do ASD Diksa i spółki. Tam
    >> bąbelki prewencyjnie przemilczają;)
    > Ale to jest ogólnie całkiem niezła książka. (A przydała mi się więcej
    > razy niż Cormen.)

    Przecież chwalę. Patrząc na tę dyskusję brak bąbelków
    można uznać jedynie za zaletę;)
    Sam kupilem tą książkę jeszcze przed studiami,
    trochę przez przypadek, a potem byłem z tego powodu
    bardzo szczęśliwy;)


    > Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
    > poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
    > projektować algorytmów". A potem licealiści/studenci na pytanie o
    > najprostszy algorytm sortowania odpowiadają "bąbelki"...

    Przytargane z wiki:
    http://www.cs.duke.edu/~ola/papers/bubble.pdf

    >>
    >> BTW, jakiś mały flejmik selectionsort vs insertionsort? ;>
    > Tu nie ma o czym dyskutować ;) - selectionsort jest najszybszy w
    > zapisaniu i najprostszy w wyjaśnieniu a poza przypadkami danych
    > częściowo (mocno) posortowanych szybszy od insertion.

    >
    > Insertion jest niezły jako kolejny krok do uczenia algorytmów - można
    > pokazać, ze coś co teoretycznie jest szybkie w praktyce po uwzględnieniu
    > kosztu operacji na rzeczywistej pamięci ma ukryty koszt.

    No i widzisz, już mamy pole do posprzeczania się:)

    Insertionsort jest w oczywisty sposób szybszy w sensie
    oczekiwanej liczby porównań (w select wyszukujemy maks
    wśród tablic długości n, n-1, n-2...4,3,2, w insert
    wkładamy zadany element w tablice długości 1,2..n-1,
    a średnio włożymy w połowę długości.

    Jeśli więc porównanie jest znacznie kosztowniejsze od
    przesunięcia, wolimy mieć dwa razy mniej porównań,
    nawet kosztem dodatkowych ~n^2 przesunięć.

    Jeśli sortowalibyśmy listę, problem w ogóle znika.

    A czasem o wyborze może zadecydować stabilność sortowania.

    Tak więc ja bym nie był tak pewny odpowiedzi:)

    A poważnie, z tą pamięcią to ciekawy problem.
    Jeśli już mamy całość w cache (nie rozważamy
    przecież na serio sortowania dużych tablic)
    ale jednocześnie porównanie jest tanie (inty).
    Żeby nie był to problem czysto akademicki,
    niech to będzie 'końcówka qsorta'. Wtedy wywoływany
    obszar i tak już najpewniej jest pod ręką.

    Heh, możnaby jakimś studentom zadać;)


    > No i na jego
    > podstawie powstało sortowanie Shella, które jest naprawdę ciekawym
    > (aczkolwiek niepraktycznym) rozwiązaniem.

    Wyścigi, kto znajdzie lepszą sekwencję długości skoków chyba
    nadal trwają;)

    pzdr
    bartekltg



  • 16. Data: 2012-10-13 01:32:02
    Temat: Re: sortowanie
    Od: Baranosiu <r...@w...pl>

    Dnia 12.10.2012 Kviat <kviat@NIE_DLA_SPAMUneostrada.pl> napisał/a:
    > W dniu 2012-10-12 20:38, M.M. pisze:
    >> W dniu piątek, 12 października 2012 18:26:27 UTC+2 użytkownik identyfikator:
    20040501 napisał:
    >>> sory za lameriadę, jaki algorytm sotrujący jest najprostszy w implementacji?
    >>> nie musi być szybki...
    >> Nie wiem dlaczego pytasz.
    >
    > Wrzuć jego nick w google to się dowiesz.
    > Karmicie trolla. Śmieci głównie na pl.praca.dyskusje, na grupach
    > programistycznych i czasem innych, łapiąc jeleni, którzy odpowiadają na
    > infantylne pytania. To jego stały numer. Jak widzi odzew to po chwili
    > "jedzie" po PO i UE. Tutaj też już śmiecił i aż dziw bierze, że macie
    > taką krótką pamięć.

    Nie było mnie na tej grupie około 10 lat, "za moich czasów" były inne
    trole :D


  • 17. Data: 2012-10-13 10:11:58
    Temat: Re: sortowanie
    Od: g...@s...invalid (Adam Wysocki)

    Baranosiu <r...@w...pl> wrote:

    > Nie ważne jakie dane, ważne jaka struktura w programie:D

    On sam nie wie, jaka struktura w programie. To przygłup i troll gorszego
    gatunku, niż fir.

    --
    Gof
    http://www.chmurka.net/


  • 18. Data: 2012-10-13 11:27:48
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Dnia Fri, 12 Oct 2012 21:08:36 +0200, Michoo napisal:

    > Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
    > poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
    > projektować algorytmów". A potem licealiści/studenci na pytanie o
    > najprostszy algorytm sortowania odpowiadają "bąbelki"...

    Nie wiedzieć czemu w edukacji stosuje się sortowanie do nauczania
    algorytmów. Poza złożonością obliczeniową sortowanie nie nadaje się
    na przykład czegokolwiek.

    --
    Edek


  • 19. Data: 2012-10-13 11:39:21
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 12.10.2012 23:20, bartekltg wrote:
    > W dniu 2012-10-12 21:08, Michoo pisze:
    >> On 12.10.2012 19:28, bartekltg wrote:
    >>> W dniu 2012-10-12 19:14, Michoo pisze:

    >>> Chwytliwa nazwa. Sięgnąłem do ASD Diksa i spółki. Tam
    >>> bąbelki prewencyjnie przemilczają;)
    >> Ale to jest ogólnie całkiem niezła książka.
    >
    > Przecież chwalę.
    > Patrząc na tę dyskusję brak bąbelków
    > można uznać jedynie za zaletę;)

    Chodziło mi właśnie o to, że "nie ma bo to jest dobra książka" ;)

    >
    >
    >> Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
    >> poczatku, [...]
    >
    > Przytargane z wiki:
    > http://www.cs.duke.edu/~ola/papers/bubble.pdf
    Fajne.

    >
    >>>
    >>> BTW, jakiś mały flejmik selectionsort vs insertionsort? ;>
    >> Tu nie ma o czym dyskutować ;) - selectionsort jest najszybszy w
    >> zapisaniu i najprostszy w wyjaśnieniu a poza przypadkami danych
    >> częściowo (mocno) posortowanych szybszy od insertion.
    >
    >>
    >> Insertion jest niezły jako kolejny krok do uczenia algorytmów - można
    >> pokazać, ze coś co teoretycznie jest szybkie w praktyce po uwzględnieniu
    >> kosztu operacji na rzeczywistej pamięci ma ukryty koszt.
    >
    > No i widzisz, już mamy pole do posprzeczania się:)
    >
    > Insertionsort jest w oczywisty sposób szybszy w sensie
    > oczekiwanej liczby porównań (w select wyszukujemy maks
    > wśród tablic długości n, n-1, n-2...4,3,2, w insert
    > wkładamy zadany element w tablice długości 1,2..n-1,
    > a średnio włożymy w połowę długości.

    Zgadza się.

    >
    > Jeśli więc porównanie jest znacznie kosztowniejsze od
    > przesunięcia, wolimy mieć dwa razy mniej porównań,
    > nawet kosztem dodatkowych ~n^2 przesunięć.

    Widziałem nawet takie rozważanie gdzie wyszukiwanie w części
    posortowanej było robione przeszukiwaniem binarnym, a wstawianie było w
    czasie stałym - dostajemy złożoność insertion sort n*log(n) ;)


    >
    > Jeśli sortowalibyśmy listę, problem w ogóle znika.
    Lista musi być na tyle duża, że nie możemy jej skopiować do struktury o
    dostępie swobodnym, ale jest to naciągane, bo przy złożoności n^2
    prawdopodobnie taniej będzie przenieść listę na pamięć zewnętrzną,
    zwolnić, wczytać do tablicy, posortować jakimś q/heap sortem, zapisać na
    pamięć zewnętrzną, zwolnić, wczytać do listy ;)

    >
    > A czasem o wyborze może zadecydować stabilność sortowania.

    Jeżeli dobrze widzę to i insertion i selection może być stabilny.

    >
    > Tak więc ja bym nie był tak pewny odpowiedzi:)
    >
    > A poważnie, z tą pamięcią to ciekawy problem.
    > Jeśli już mamy całość w cache (nie rozważamy
    > przecież na serio sortowania dużych tablic)
    > ale jednocześnie porównanie jest tanie (inty).

    > Żeby nie był to problem czysto akademicki,
    > niech to będzie 'końcówka qsorta'. Wtedy wywoływany
    > obszar i tak już najpewniej jest pod ręką.

    Ale w takiej sytuacji jest heapsort działający zawsze w n*log(n) ;)

    >
    > Heh, możnaby jakimś studentom zadać;)

    Wygrzebałem stare sprawozdanie na "algorytmy i struktury danych".
    Najszybszym algorytmem dla losowych danych był wtedy heapsort napisany w
    assemblerze (ale miałem na jego optymalizację dobre 3 godziny podczas
    jazdy pociągiem). Największym zaskoczeniem był Shell:
    http://grota.be/~michoo/smieci/algo_sort.png


    --
    Pozdrawiam
    Michoo


  • 20. Data: 2012-10-13 13:52:31
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 13.10.2012 11:27, Edek Pienkowski wrote:
    > Dnia Fri, 12 Oct 2012 21:08:36 +0200, Michoo napisal:
    >
    >> Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
    >> poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
    >> projektować algorytmów". A potem licealiści/studenci na pytanie o
    >> najprostszy algorytm sortowania odpowiadają "bąbelki"...
    >
    > Nie wiedzieć czemu w edukacji stosuje się sortowanie do nauczania
    > algorytmów. Poza złożonością obliczeniową sortowanie nie nadaje się
    > na przykład czegokolwiek.
    >
    Dlaczego? Mamy dane wejściowe, mamy predykat do spełnienia na wyjściu,
    mamy opis operacji, czyli algorytm. Łatwe do zrozumienia, łatwe do
    prezentacji, łatwe do sprawdzenia poprawności.

    Co Ty byś proponował do nauki algorytmów?

    --
    Pozdrawiam
    Michoo

strony : 1 . [ 2 ] . 3 ... 10 ... 50 ... 57


Szukaj w grupach

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: