eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingsortowanie
Ilość wypowiedzi w tym wątku: 567

  • 51. Data: 2012-10-13 21:23:17
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Dnia Sat, 13 Oct 2012 11:58:34 -0700, kenobi napisal:

    > za jakis czas sobie klepne pewnie to uogolnienie, np dla 32 bit mozna
    > pewnie w jednym przebiegu zrobic histogram na gornych bitach wygenerowac
    > czesciowo uporzadkowany wynik i w kolejnym posortowac kawalki, albo tez i
    > inaczej ladnie dobierajac po efektywnosci - w kazdym razie raczej da sie
    > to uogolnic :U

    Dla stringów też się da. Taki 8-bajtowy string to 2^64 tak jak int64
    to 2^64 jak i float to 2^64. Ymmv, ale widzę morfizm, wystarczy uzupełnić
    string zerami do najdłuższego, zera tak rzadko występują. Jedynie te
    floaty mają jakieś NaNy i InfY, ale int się nadaje. A jak się zmienne
    typu String wrzuci w histogram potem, to można histogramować po
    intach zbudowanych ze znaków, robi się to raz, a nie z bajtów, wystarczy
    jak wszystkiemu porównywalnemu walnąc raz przypisanie znaku do liczby,
    znaki są znane, według lexykografii i jesteśmy w domu po jednym
    przebiegu, chyba że wszystkie przypisane liczby są takie same, ale
    wtedy zaczyna się od stringów obciętych uprzednio co sprawia
    że porównanie potem jest szybsze, można bezkosztowo prawie
    offsetem załatwić.

    Uogólniając, ma się możliwość histogramowania wszystkiego do czego
    można przypisać liczbę bez uprzedniego sortowania.

    --
    Edek


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

    On 13.10.2012 14:46, Edek Pienkowski wrote:
    > Dnia Sat, 13 Oct 2012 13:52:31 +0200, Michoo napisal:
    >
    >> Co Ty byś proponował do nauki algorytmów?
    >
    > Coś co ma "contraints" do spełnienia [1], najlepiej nietrywialne [2]; może
    > być wykres Gannta z zadań, ale niektóre uczelnie preferują np. peephole.
    Na _początek_? Może wybiję cię ze złudzeń, które też miałem idąc na
    studia - na informatykę nie idzie banda geeków i nerdów, którzy
    hackowali amigi, atmegi, czy inne zabawki. Większość ludzi swój pierwszy
    program napisze na zajęciach. Ich trzeba nauczyć "co to jest algorytm".

    > Nie zaczynałbym edukacji od "zobacz, na ile możliwości można zrobić coś
    > tak banalnego jak sortowanie, jakie piękne metody".
    >
    Raczej - coś tak banalnego jak sortowanie można zrobić tak, tak i tak.
    Naucz się pokazywać różnice między tymi podejściami zanim przejdziemy dalej.


    --
    Pozdrawiam
    Michoo


  • 53. Data: 2012-10-13 21:33:40
    Temat: Re: sortowanie
    Od: kenobi <p...@g...com>

    W dniu sobota, 13 października 2012 21:18:12 UTC+2 użytkownik Edek Pienkowski
    napisał:
    > Dnia Sat, 13 Oct 2012 11:58:34 -0700, kenobi napisal:
    >
    >
    >
    > > za jakis czas sobie klepne pewnie to uogolnienie, np dla 32 bit mozna
    >
    > > pewnie w jednym przebiegu zrobic histogram na gornych bitach wygenerowac
    >
    > > czesciowo uporzadkowany wynik i w kolejnym posortowac kawalki, albo tez i
    >
    > > inaczej ladnie dobierajac po efektywnosci - w kazdym razie raczej da sie
    >
    > > to uogolnic :U
    >
    >
    >
    > Dla string�w te� si� da. Taki 8-bajtowy string to 2^64 tak jak int64
    >
    > to 2^64 jak i float to 2^64. Ymmv, ale widz� morfizm, wystarczy uzupe�ni�
    >
    > string zerami do najd�u�szego, zera tak rzadko wyst�puj�. Jedynie te
    >
    > floaty majďż˝ jakieďż˝ NaNy i InfY, ale int siďż˝ nadaje. A jak siďż˝ zmienne
    >
    > typu String wrzuci w histogram potem, to mo�na histogramowa� po
    >
    > intach zbudowanych ze znak�w, robi si� to raz, a nie z bajt�w, wystarczy
    >
    > jak wszystkiemu por�wnywalnemu waln�c raz przypisanie znaku do liczby,
    >
    > znaki s� znane, wed�ug lexykografii i jeste�my w domu po jednym
    >
    > przebiegu, chyba �e wszystkie przypisane liczby s� takie same, ale
    >
    > wtedy zaczyna si� od string�w obci�tych uprzednio co sprawia
    >
    > �e por�wnanie potem jest szybsze, mo�na bezkosztowo prawie
    >
    > offsetem za�atwi�.
    >
    >
    >
    > Uog�lniaj�c, ma si� mo�liwo�� histogramowania wszystkiego do czego
    >
    > mo�na przypisa� liczb� bez uprzedniego sortowania.
    >
    >
    nieczytelny tekst da sie przeczytac tylko niektore slowa - tu jest zrodlo tego
    pomyslu
    przynajmniej ja stad sie o tym dowiedzialem

    The quick-sort algorithm requires O(n lg n) operations on average and O(n2)
    operations in the worst situation. This
    algorithm is very fast. Nevertheless, it needs to be improved! It reminds me of a
    quotation from a sci-fi novel by Arkady
    and Boris Strugatsky: "We are well aware that this task has no solution... We want to
    know how to solve it."
    A simple and efficient sorting algorithm exists that, in the worst situation,
    requires O(n) operations. No, this is not a joke!
    There is such an algorithm. On AMD Athlon 1050, it sorts 10 million numbers in
    approximately 0.3 seconds, thousand
    times faster than quick sort.
    I discovered this algorithm time when I was participated in a computer-science
    contest. One of the problems required the
    participants to sort seven numbers using no more than three comparison operations.
    Seeing this problem as a perfect
    opportunity for showing off, I wrote a small program that sorted the numbers without
    using any comparison operations.
    Unfortunately, my solution was not considered superior. Only after a couple of years
    of carefully exploring the existing
    sorting algorithms could I evaluate the importance of the result.

    kriss kaspersky code optimization effective memory usage

    (dalej jest opis ale sprowadza sie to mw do tego co mowie) problemem jest tu ze
    dobrze
    to dziala jesli wartosci jest duzo a zakres jest waski a niezbyt nadaje sie kiedy
    wartosci jest malo, a zakres szeroki ale kiedy wartosci jest duzo i zakres szeroki,
    da sie to mz
    podzilic pokombinowac i tez ogolnie wykorzystac ten sposob


    i tak czesto ja potrzebowalbym sortowac po prostu male inty i wtedy to dziala
    blyskawicznie i jest hipergenialna metoda


  • 54. Data: 2012-10-13 22:05:39
    Temat: Re: sortowanie
    Od: Michoo <m...@v...pl>

    On 13.10.2012 14:14, bartekltg wrote:
    > W dniu 2012-10-13 11:39, Michoo pisze:
    >
    >>> 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) ;)
    >
    > Hehe.
    > Złożoność oczywiście pozostaje, ale jakieś tam korzyści
    > w działaniu mogą się pojawić.
    > Ale mam coś lepszego. Autor pewnej bardzo popularnej książki
    > do "c++ i szablonów" buduje wyszukiwanie binarne latając
    > po kontenerze ++owaniem iteratora. Komentuje to "++ jest szybkie".
    Nie trafiłem - można prosić o tytuł? (Ja za to spotkałem profesora z
    ciekawą definicją "native code". ;) )

    >>> Ż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) ;)
    >
    > Mylisz sytuację.
    > Nie chodzi o problem qsorta z niektórymi danymi,
    > tylko o to, że gdy, w czasie zrównoważonego działania,
    > dochodzimy do rekursywnego wywołania qsorta dla odpowiednio
    > małych obszarów, odpala się jakiś mały zwarty n^2.
    Z tego co kojarzę standardowym jest użycie heapsorta albo mergesorta
    zależnie, czy zależy nam na stabilności. Po co używać coś o złożoności
    n^2 skoro ma się rozwiązania 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
    >
    > Ładnie.
    >
    > A co do shella. Już ciąg Pratta miał O(N log^2N)
    > To asymptotycznie niedużo więcej niż 'normalne'
    > algorytmy. A są lepsze ciągi:
    > http://en.wikipedia.org/wiki/Shellsort#Computational
    _complexity
    >
    > Hmm. Piszą, że się nawet w specjalnych zastosowaniach tego używa.
    >
    > q_med to qsort z medianą z ilu wartości? Wszystkich z przedziału?
    z 3 losowych
    >
    >
    > Ale wróćmy do selectsort i insertsort.
    >
    > Napisałem palce obie wersje(specjalnie dla fira, prawie c):
    >
    > void insertsort(int * tabl,int first, int last)
    > {
    > for (int j = first+1;j<=last;j++) //pierwszy nieposortowany
    > {
    > int i=j;
    > int temp = tabl[j];
    > while ((i>first) && temp<tabl[i-1])
    > {
    > tabl[i]=tabl[i-1];
    > i--;
    > }
    > tabl[i]=temp;
    > }//for
    > }
    >
    >
    >
    > void selectsort(int * tabl,int first, int last)
    > {
    > for (int j=first; j<last; j++)
    > {
    > int min = j;
    > for (int i=j+1;i<=last;i++)
    > {
    > if (tabl[i]<tabl[min]) min=i;
    > }
    > int temp = tabl[min];
    > tabl[min]=tabl[j];
    > tabl[j]=temp;
    > }//for
    > }
    >
    >
    > I dość brutalną metodę testowania. Długi, losowe identyczne tablice,
    > wkładane po kawałkach w obie procedury.
    > Robimy ileś powtórzeń dla tablic długości n.
    > Za każdym raazem tablica całkowicie losowa.
    >
    >
    > Wyniki.. cóż, mnie zaskoczyły. Sprawdziłem nawet zamieniajac
    > w procedurze testowej funkcje miejscami.
    A ja jak źle spojrzałem na wykres - insertion u nie też był odrobinę
    szybszy.
    http://grota.be/~michoo/smieci/sort2.png

    >
    > Trochę mnie to dziwi. Błędu w implementacji nie widzę.
    > czyżby znów cache i liniowy spacer po pamięci?
    Średnio wychodzi trochę mniej operacji. Selection ma zawsze 1/2n^2 a
    insertion tyle pesymistycznie a średnio połowę. Btw właśnie tak mi
    wyszło, że insertion można przedstawić jako "bąbelki od drugiej strony".


    Co ciekawe mój selection był minimalnie szybszy od Twojego, mimo dużego
    podobieństwa:
    void selection(int n,T* data)
    {
    for(int i=0,p=0;i<n;++i,p=i){
    for(int j=i+1;j<n;++j)
    if(data[j]<data[p])
    p=j;
    std::swap(data[i],data[p]);
    }
    }



    --
    Pozdrawiam
    Michoo


  • 55. Data: 2012-10-13 22:12:37
    Temat: Re: sortowanie
    Od: "M.M." <m...@g...com>

    W dniu sobota, 13 października 2012 22:05:57 UTC+2 użytkownik Michoo napisał:
    > Z tego co kojarzę standardowym jest użycie heapsorta albo mergesorta
    > zależnie, czy zależy nam na stabilności. Po co używać coś o złożoności
    > n^2 skoro ma się rozwiązania n*log(n)?
    Algorytmy sortowania o asymptotycznej zlozonosci n^2 moga byc szybsze
    od n*log(n) dla malych n, a to z powodu stalego narzutu. Jesli w petelce
    trzeba posortowac np. miliard razy po 20 liczb, to warto sprawdzic czy
    algorytm kwadratowy nie wypadnie lepiej.
    Pozdrawiam


  • 56. Data: 2012-10-13 22:53:09
    Temat: Re: sortowanie
    Od: "M.M." <m...@g...com>

    W dniu sobota, 13 października 2012 19:37:28 UTC+2 użytkownik kenobi napisał:
    > oczywiscie i tak jest to slamazarstwo
    > najlepsze sortowanie to to co ja nazywam
    > metoda chrissa kaserskiego, czyli
    > h[ tab[i] ]++;
    Przepiekna sztuczka, do dzis pamietam uczucie euforii gdy
    sie po raz pierwszy dowiedzialem o tej metodzie :) Zdaje sie ze
    ta sztuczka nazywa sie sortowaniem kubelkowym. Niestety ma ona
    wade. Gdy ilosc roznych wartosci w tab jest duza to potem na
    posortoanie h i tak potrzeba M*log(M) operacji (gdzie M to ilosc
    roznych wartosci).

    > Podobno kiedys zrobil tak na jakiejs
    > olimpiadzie jako nastolatek i komisja
    > mu tego nie uznala ;-) zarabista anegdota
    > (pisalem o tym z rok czy dwa temu)
    Moze w tresci zadania byl jakis kruczek?

    > Mozna to uogolnic np w h(tab[i])
    > robiac galaz drzewa, albo innymi metodami
    > i mysle ze to raczej jest po prostu najszybsze
    Jesli jest mala ilosc roznych wartosci (innymi slowy
    te same wartosci powtarzaja sie czesto) to z pewnoscia
    bedzie najszybsze.

    W praktyce pewnie przyda sie jeszcze jakias funkcja hash
    czestos[ hash(elementy[i]) % size ]++.

    Pozdrawiam





  • 57. Data: 2012-10-13 22:54:02
    Temat: Re: sortowanie
    Od: kenobi <p...@g...com>

    >
    >
    > A moim zdaniem o sortowaniu można wspomnieć i tylko tyle. Ja nie
    >
    > rozumiem, zawsze miałem z tym problem, po co się męczyć poznając
    >
    > i ćwicząc w każdą stronę wszystkie rodzaje czegoś, jeżeli te
    >
    > rodzaje nie wnoszą wiele do zrozumienia zasad - wtedy wystarczy
    >
    > o nich wspomnieć i jak ktoś chce to sobie sprawdzi sam, czy go
    >
    > fascynują.
    >

    Programowanie ma wiele odmian i ta jakosmatematyczna niekoniecznie jest najciekawsza,
    ale jest to pewien raczej
    charakterystyczny kawalek dziedziny
    zarazem nieco ciekawy jak i moze i
    przymulasty - dla mnie programowanie
    to bardziej piksele i asembler ale
    posortowac tez mozna (zwl ze to podchodzi
    ew pod asembler) (itd) - tak ze szczerze
    mowiac zdeczko denerwujesz, polecam
    troche spokoju w podejsciu


  • 58. Data: 2012-10-13 23:27:19
    Temat: Re: sortowanie
    Od: kenobi <p...@g...com>

    W dniu sobota, 13 października 2012 22:53:09 UTC+2 użytkownik M.M. napisał:
    > W dniu sobota, 13 października 2012 19:37:28 UTC+2 użytkownik kenobi napisał:
    >
    > > oczywiscie i tak jest to slamazarstwo
    >
    > > najlepsze sortowanie to to co ja nazywam
    >
    > > metoda chrissa kaserskiego, czyli
    >
    > > h[ tab[i] ]++;
    >
    > Przepiekna sztuczka, do dzis pamietam uczucie euforii gdy
    >
    > sie po raz pierwszy dowiedzialem o tej metodzie :) Zdaje sie ze
    >
    > ta sztuczka nazywa sie sortowaniem kubelkowym. Niestety ma ona
    >
    > wade. Gdy ilosc roznych wartosci w tab jest duza to potem na
    >
    > posortoanie h i tak potrzeba M*log(M) operacji (gdzie M to ilosc
    >
    > roznych wartosci).
    >
    >

    no mnie tez to zdziwilo i tez pamietam moment
    jak o tym przeczytalem w tym kawalku
    kasperskiego (bardziej utkwilo w pamieci ze
    duraki z komisji odrzucily jego rozwiazanie)
    ksiage wypozyczylem z mjejskiej biblioteki w bydgoszczy i czytalem to raz pamietam
    idac
    chyba ze trzy kilometry i czytajac w marszu
    po jakichs bydgoskich (niespecjalnie wyjsciowych) peryferiach, (mieszkalem tam
    troche wtedy) niezla sprawa

    co do tego ze to ma ograniczenia to wydaje mi
    sie ze mozna to prawdopodobnie rozwinac/uogolnic a i tak bedzie najlepsze

    co do algorytmow to wogole jednak mnie
    omijają - w swojej bazie kodu nie mam ani
    jednego algorytmu pomijajac rysowanie kolka
    bressenhamem (czego nie rozumiem jakies plus szesc minus dwa) ale to bym chyba
    zaliczyl
    wlasnie do sztuczki optymalizacyjnej -
    te bardzo lubie i mam ich sporo


    >
    > > Podobno kiedys zrobil tak na jakiejs
    >
    > > olimpiadzie jako nastolatek i komisja
    >
    > > mu tego nie uznala ;-) zarabista anegdota
    >
    > > (pisalem o tym z rok czy dwa temu)
    >
    > Moze w tresci zadania byl jakis kruczek?
    >
    >
    >
    > > Mozna to uogolnic np w h(tab[i])
    >
    > > robiac galaz drzewa, albo innymi metodami
    >
    > > i mysle ze to raczej jest po prostu najszybsze
    >
    > Jesli jest mala ilosc roznych wartosci (innymi slowy
    >
    > te same wartosci powtarzaja sie czesto) to z pewnoscia
    >
    > bedzie najszybsze.
    >
    >
    >
    > W praktyce pewnie przyda sie jeszcze jakias funkcja hash
    >
    > czestos[ hash(elementy[i]) % size ]++.
    >
    >
    >
    > Pozdrawiam


  • 59. Data: 2012-10-13 23:48:41
    Temat: Re: sortowanie
    Od: Edek Pienkowski <e...@g...com>

    Dnia Sat, 13 Oct 2012 12:33:40 -0700, kenobi napisal:

    > W dniu sobota, 13 października 2012 21:18:12 UTC+2 użytkownik Edek Pienkowski
    napisał:
    >> Dnia Sat, 13 Oct 2012 11:58:34 -0700, kenobi napisal:
    >>
    >>
    >>
    >> > za jakis czas sobie klepne pewnie to uogolnienie, np dla 32 bit mozna
    >>
    >> > pewnie w jednym przebiegu zrobic histogram na gornych bitach wygenerowac
    >>
    >> > czesciowo uporzadkowany wynik i w kolejnym posortowac kawalki, albo tez i
    >>
    >> > inaczej ladnie dobierajac po efektywnosci - w kazdym razie raczej da sie
    >>
    >> > to uogolnic :U
    >>
    >>
    >>
    >> Dla string�w te� si� da. Taki 8-bajtowy string to 2^64 tak jak int64
    >>
    >> to 2^64 jak i float to 2^64. Ymmv, ale widz� morfizm, wystarczy uzupe�ni�
    >>
    >> string zerami do najd�u�szego, zera tak rzadko wyst�puj�. Jedynie te
    >>
    >> floaty majďż˝ jakieďż˝ NaNy i InfY, ale int siďż˝ nadaje. A jak siďż˝ zmienne
    >>
    >> typu String wrzuci w histogram potem, to mo�na histogramowa� po
    >>
    >> intach zbudowanych ze znak�w, robi si� to raz, a nie z bajt�w, wystarczy
    >>
    >> jak wszystkiemu por�wnywalnemu waln�c raz przypisanie znaku do liczby,
    >>
    >> znaki s� znane, wed�ug lexykografii i jeste�my w domu po jednym
    >>
    >> przebiegu, chyba �e wszystkie przypisane liczby s� takie same, ale
    >>
    >> wtedy zaczyna si� od string�w obci�tych uprzednio co sprawia
    >>
    >> �e por�wnanie potem jest szybsze, mo�na bezkosztowo prawie
    >>
    >> offsetem za�atwi�.
    >>
    >>
    >>
    >> Uog�lniaj�c, ma si� mo�liwo�� histogramowania wszystkiego do czego
    >>
    >> mo�na przypisa� liczb� bez uprzedniego sortowania.
    >>
    >>
    > nieczytelny tekst da sie przeczytac tylko niektore slowa - tu jest zrodlo tego
    pomyslu
    > przynajmniej ja stad sie o tym dowiedzialem
    >
    > The quick-sort algorithm requires O(n lg n) operations on average and O(n2)
    operations in the worst situation. This
    > algorithm is very fast. Nevertheless, it needs to be improved! It reminds me of a
    quotation from a sci-fi novel by Arkady
    > and Boris Strugatsky: "We are well aware that this task has no solution... We want
    to know how to solve it."
    > A simple and efficient sorting algorithm exists that, in the worst situation,
    requires O(n) operations. No, this is not a joke!
    > There is such an algorithm. On AMD Athlon 1050, it sorts 10 million numbers in
    approximately 0.3 seconds, thousand
    > times faster than quick sort.
    > I discovered this algorithm time when I was participated in a computer-science
    contest. One of the problems required the
    > participants to sort seven numbers using no more than three comparison operations.
    Seeing this problem as a perfect
    > opportunity for showing off, I wrote a small program that sorted the numbers
    without using any comparison operations.
    > Unfortunately, my solution was not considered superior. Only after a couple of
    years of carefully exploring the existing
    > sorting algorithms could I evaluate the importance of the result.
    >
    > kriss kaspersky code optimization effective memory usage
    >
    > (dalej jest opis ale sprowadza sie to mw do tego co mowie) problemem jest tu ze
    dobrze
    > to dziala jesli wartosci jest duzo a zakres jest waski a niezbyt nadaje sie kiedy
    wartosci jest malo, a zakres szeroki ale kiedy wartosci jest duzo i zakres szeroki,
    da sie to mz
    > podzilic pokombinowac i tez ogolnie wykorzystac ten sposob
    >
    >
    > i tak czesto ja potrzebowalbym sortowac po prostu male inty i wtedy to dziala
    blyskawicznie i jest hipergenialna metoda

    "Doing the impossible is fun" - Walt Disney.

    --
    Edek


  • 60. Data: 2012-10-13 23:54:38
    Temat: Re: sortowanie
    Od: PK <P...@n...pl>

    On 2012-10-13, Michoo <m...@v...pl> wrote:
    > Na _początek_? Może wybiję cię ze złudzeń, które też miałem idąc na
    > studia - na informatykę nie idzie banda geeków i nerdów, którzy
    > hackowali amigi, atmegi, czy inne zabawki. Większość ludzi swój pierwszy
    > program napisze na zajęciach. Ich trzeba nauczyć "co to jest algorytm".

    Na szczęście!
    :D

    Czasem mam wrażenie, że informatyka (ta teoretyczna) stoi w tym kraju
    na wysokim poziomie właśnie głównie przez PRL i trudność z dostępem
    do różnych Amig i tak dalej. Ale obym nie miał racji, bo to nie
    wróżyłoby dobrze na przyszłość :).

    pozdrawiam,
    PK

strony : 1 ... 5 . [ 6 ] . 7 ... 20 ... 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: