eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming.Net Dictionary (System.Collections) problem z wyszukiwaniem... › .Net Dictionary (System.Collections) problem z wyszukiwaniem...
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: "Marcin Połeć" <u...@g...pl>
    Newsgroups: pl.comp.programming
    Subject: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
    Date: Sun, 16 Aug 2009 21:57:40 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 37
    Message-ID: <h69vck$rq2$1@inews.gazeta.pl>
    NNTP-Posting-Host: localhost
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1250459860 28482 172.20.26.242 (16 Aug 2009 21:57:40 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sun, 16 Aug 2009 21:57:40 +0000 (UTC)
    X-User: utterqvist
    X-Forwarded-For: 83.5.58.102
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.comp.programming:183278
    [ ukryj nagłówki ]

    Witam,

    mam problem z wyszukiwaniem w słowniku. Gdy wyszukuję jednego klucza
    wszystko jest ok, tzn. bardzo szybko. Problem pojawia się w momencie gdy
    chcę sprawdzić powiedzmy milion kluczy. Mój program generuje najpierw listę
    kombinacji liter a następnie sprawdza w słowniku które z tych kombinacji się
    tam znajdują. Samo generowanie listy zabiera góra do 2-3 sekund, natomiast
    sprawdzanie które z tych kombinacji są w słowniku - od 20s do kilku minut.

    Kod wygląda tak:
    bool Check(string słowo)
    {
    if(dictionary.contains(new KeyValuePair<string, bool>(słowo, false))
    return true;
    else
    return false;
    }

    [...]

    string ret = "";
    foreach(string s in kombinacje)
    {
    if(Check)
    ret += s+", ";
    }

    Próbowałem też dictionary.containsKey(słowo) ale jest jeszcze wolniejsze niż
    z kvp.

    Moje pytanie brzmi jak to przyspieszyć??? Zastanawiałem się nad
    zrezygnowaniem z metody "na siłę" czyli sprawdzania wszystkich kombinacji i
    zastąpieniu jej szukaniem wzorca klucza w słowniku, ale nie wiem czy takie
    coś jest w ogóle możliwe w .net? Może coś z linqiem? Proszę o rady...

    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

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: