eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Tablica int i usuwanie duplikatów
Ilość wypowiedzi w tym wątku: 68

  • 11. Data: 2015-09-16 07:21:44
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: slawek <f...@f...com>

    On Tue, 15 Sep 2015 09:32:50 +0200, szemrany <s...@o...off>
    wrote:
    > I naprawdę algorytmika niczego lepszego nie wymyśliła?

    Po prostu zlicz wystąpienia. Dla skończonego zbioru int'ów złożoność
    obliczeniowa O(N).


  • 12. Data: 2015-09-16 07:38:10
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: bartekltg <b...@g...com>

    On 16.09.2015 07:21, slawek wrote:
    > On Tue, 15 Sep 2015 09:32:50 +0200, szemrany <s...@o...off> wrote:
    >> I naprawdę algorytmika niczego lepszego nie wymyśliła?
    >
    > Po prostu zlicz wystąpienia. Dla skończonego zbioru int'ów złożoność
    > obliczeniowa O(N).

    To jest ogólnie nienajgorszy pomysł (padł w wątku trzeci raz),
    ale pomijasz koszmarną ilość szczegółów, jak zliczać ;-)

    pzdr
    bartekltg






  • 13. Data: 2015-09-16 10:57:12
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: slawek <f...@f...com>

    On Wed, 16 Sep 2015 07:38:10 +0200, bartekltg <b...@g...com>
    wrote:
    > ale pomijasz koszmarną ilość szczegółów, jak zliczać ;-)

    Normalnie; zero, mnóstwo. ;)


  • 14. Data: 2015-09-16 11:05:29
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: "AK" <n...@n...com>

    Użytkownik "bartekltg" <b...@g...com> napisał:

    > jak zliczać ;-)

    Właśnie. W tym cały ambaras :)

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 15. Data: 2015-09-16 11:34:13
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: bartekltg <b...@g...com>

    On 16.09.2015 10:57, slawek wrote:
    > On Wed, 16 Sep 2015 07:38:10 +0200, bartekltg <b...@g...com> wrote:
    >> ale pomijasz koszmarną ilość szczegółów, jak zliczać ;-)
    >
    > Normalnie; zero, mnóstwo

    Dlatego proponowałem (unordered_)set zamiast (...)map.
    Jest/nie ma w pomocniczym zbiorze.

    > ;)

    Ty już nie udawaj, ze nie wiesz, o co pytam ;-)

    pzdr
    bartekltg


  • 16. Data: 2015-09-16 11:40:53
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: bartekltg <b...@g...com>

    On 16.09.2015 11:05, AK wrote:
    > Użytkownik "bartekltg" <b...@g...com> napisał:
    >
    >> jak zliczać ;-)
    >
    > Właśnie. W tym cały ambaras :)

    Przejrzałem pobieżnie Twoje linki o idealnym minilalnym hashu,
    to wygląda na sporo roboty dla procesora (porównujemy do
    sortowania i zwykłego haszowania z jakimś prostym rozwiązywaniem
    kolizji), jeśli potem każdy element odczytamy ~raz.


    pzdr
    bartekltg



  • 17. Data: 2015-09-16 12:05:28
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: "AK" <n...@n...com>

    Użytkownik "bartekltg" <b...@g...com> napisał:

    > Przejrzałem pobieżnie Twoje linki o idealnym minilalnym hashu,
    > to wygląda na sporo roboty dla procesora (porównujemy do
    > sortowania i zwykłego haszowania z jakimś prostym rozwiązywaniem
    > kolizji), jeśli potem każdy element odczytamy ~raz.

    Nie no zgadza sie. Dlatego to sie nadaje glownie do ("statycznych") setow
    typu slowa kluczowe j.prog czy jakis dispatrzer po nazwie dla z gory
    okreslonych nazw itp.

    Co nie zmienia faktu ze jest to rozwiazanie "prawie idelane" w sensie
    zlozonosci O(x)

    AK


    ---
    Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe
    Avast.
    https://www.avast.com/antivirus


  • 18. Data: 2015-09-16 12:31:18
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: "M.M." <m...@g...com>

    On Wednesday, September 16, 2015 at 11:34:13 AM UTC+2, bartekltg wrote:
    > Dlatego proponowałem (unordered_)set zamiast (...)map.
    > Jest/nie ma w pomocniczym zbiorze.
    To jest najszybsza metoda w praktyce. Czasami możemy trafić na
    dane, dla których funkcja hash da mnóstwo kolizji. Problem
    kolizji trochę rekompensuje odpowiednia implementacja hash-table,
    ponieważ można ją przeglądać tak jak lubi pamięć cache. W
    przypadku RBTree nigdy nie jest przyjaźnie dla cache, ale
    jest gwarancja N*Log(N) dla każdych danych.

    Pozdrawiam

    P.S.
    Chyba w popularnych bibliotekach nie ma implementacji hash-table
    która jest przyjazna dla pamięci cache, chyba trzeba samemu
    wyrzeźbić. Szczególnie warto samemu, gdy wiemy z góry ile
    będzie danych liczb.



  • 19. Data: 2015-09-16 12:52:07
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: bartekltg <b...@g...com>

    On 16.09.2015 12:31, M.M. wrote:
    > On Wednesday, September 16, 2015 at 11:34:13 AM UTC+2, bartekltg wrote:
    >> Dlatego proponowałem (unordered_)set zamiast (...)map.
    >> Jest/nie ma w pomocniczym zbiorze.
    > To jest najszybsza metoda w praktyce. Czasami możemy trafić na
    > dane, dla których funkcja hash da mnóstwo kolizji. Problem
    > kolizji trochę rekompensuje odpowiednia implementacja hash-table,
    > ponieważ można ją przeglądać tak jak lubi pamięć cache. W
    > przypadku RBTree nigdy nie jest przyjaźnie dla cache, ale
    > jest gwarancja N*Log(N) dla każdych danych.
    >
    > Pozdrawiam
    >
    > P.S.
    > Chyba w popularnych bibliotekach nie ma implementacji hash-table
    > która jest przyjazna dla pamięci cache, chyba trzeba samemu
    > wyrzeźbić. Szczególnie warto samemu, gdy wiemy z góry ile
    > będzie danych liczb.

    w STD jest metoda łańcuchowa. Kiedyś nawet czyałem, że
    za tym, że nie sosją jakiergoś adresowania otwartego
    stoi za jakaś idealogia.

    Parę razy natknąłem się na googlowe tablice mieszające
    https://github.com/sparsehash/sparsehash
    Kilka gatnków, do wyboru.

    Stare, ale ciekawe porównanie:
    http://incise.org/hash-table-benchmarks.html


    Za to jakiś czas temu złapałem się na tym, że std:hash na intach
    ... zwraca argument. Jest różnowartośćiowa, ale dość słabo miesza:(



    pzdr
    bartekltg





  • 20. Data: 2015-09-16 14:03:18
    Temat: Re: Tablica int i usuwanie duplikatów
    Od: "M.M." <m...@g...com>

    On Wednesday, September 16, 2015 at 12:52:08 PM UTC+2, bartekltg wrote:
    > On 16.09.2015 12:31, M.M. wrote:
    > > On Wednesday, September 16, 2015 at 11:34:13 AM UTC+2, bartekltg wrote:
    > >> Dlatego proponowałem (unordered_)set zamiast (...)map.
    > >> Jest/nie ma w pomocniczym zbiorze.
    > > To jest najszybsza metoda w praktyce. Czasami możemy trafić na
    > > dane, dla których funkcja hash da mnóstwo kolizji. Problem
    > > kolizji trochę rekompensuje odpowiednia implementacja hash-table,
    > > ponieważ można ją przeglądać tak jak lubi pamięć cache. W
    > > przypadku RBTree nigdy nie jest przyjaźnie dla cache, ale
    > > jest gwarancja N*Log(N) dla każdych danych.
    > >
    > > Pozdrawiam
    > >
    > > P.S.
    > > Chyba w popularnych bibliotekach nie ma implementacji hash-table
    > > która jest przyjazna dla pamięci cache, chyba trzeba samemu
    > > wyrzeźbić. Szczególnie warto samemu, gdy wiemy z góry ile
    > > będzie danych liczb.
    >
    > w STD jest metoda łańcuchowa. Kiedyś nawet czyałem, że
    > za tym, że nie sosją jakiergoś adresowania otwartego
    > stoi za jakaś idealogia.
    >
    > Parę razy natknąłem się na googlowe tablice mieszające
    > https://github.com/sparsehash/sparsehash
    > Kilka gatnków, do wyboru.
    >
    > Stare, ale ciekawe porównanie:
    > http://incise.org/hash-table-benchmarks.html
    >
    >
    > Za to jakiś czas temu złapałem się na tym, że std:hash na intach
    > ... zwraca argument. Jest różnowartośćiowa, ale dość słabo miesza:(


    Dzięki za benchmarki. Widzę, że QHash ładnie tam wypada. Pamiętam właśnie, że
    kiedyś wydziargałem swoją specjalistyczną hash-table i działała tylko
    odrobinę szybciej niż qhash.

    Pozdrawiam

strony : 1 . [ 2 ] . 3 ... 7


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: