-
Data: 2009-08-19 17:39:07
Temat: Re: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
Od: Marcin Kral <k...@p...na-onecie.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2009-08-19 18:31, Marcin Połeć pisze:
> Bartek Etenkowski<n...@c...cz> napisał(a):
>> na pierwszy rzut oka to problem moĹźe byÄ? z robieniem wielu konkatenacji
>> (o ile Check(s) wiele razy zwraca prawdÄ?). SprĂłbuj tak:
>>
>> StringBuilder result = new StringBuilder();
>> foreach (string s in kombinacje)
>> if (Check(s))
>> {
>> result.Append(s);
>> result.Append(", "); // albo zamiast tych dwĂłch
>> result.AppendFormat("{0}, ", s);
>> }
>> ret = result.ToString();
>>
>> Powinno byÄ? szybciej. Nie kompilowaĹ?em tego, metoda ctrl+c, ctrl+v
>> dziaĹ?aÄ? nie musi. :)
>>
>> Pozdrawiam,
> znacznego przyspieszenia nie odnotowałem, średni czas przeszukiwania wciąż
> jest około 17sekund
Generalnie to jak juz wyzej poradzono lepiej skupic sie na zlozonosci
algorytmu. To tutaj to kwestie implementacyjne. Jakkolwiek, dla duzej
liczby konkatenacji StringBuilder jest wydajniejszy. Jezeli funkcja go
uzywajaca jest czesto wolana to warto StringBuildera tworzyc raz i
odpalac clear() na poczatku funkcji go uzywajacej. (Chodzi o
zmniejszenie liczby alokacji). Inna sprawa - jezeli chcesz bawic sie w
takie drobnostki - zamiast foreach uzyj zwyklego for.
np.
int liczbaKombinacji = kombinacje.Count;
string s = String.Empty;
for(int i = 0; i < liczbaKombinacji; i++)
{
s = liczbaKombinacji[i];
// operacje na s
}
--
Pozdrawiam
Marcin Kral
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-04-05 Wyrok dożywocia dla Polki
- 2025-04-04 Prezydium Sejmu Tuskiego orzekło: Poseł KO mecenas Roman Giertych NIE jest mordercą (w żadnym sensie tego słowa?)
- 2025-04-04 Reset komóry
- 2025-04-04 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-04-04 Zielonka => Key Account Manager IT <=
- 2025-04-04 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2025-04-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-04-04 Białystok => NMS System Administrator <=
- 2025-04-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-04-04 Warszawa => Generative AI Engineer <=
- 2025-04-04 Warszawa => Gen AI Engineer <=
- 2025-04-04 Warszawa => Senior Programmer C <=
- 2025-04-04 Jak odróżnić myjki wibrujące od ultradźwiękowych.
- 2025-04-03 Ledy na wyłączniku czasowym błyskają
- 2025-04-03 Mapy w android-auto