-
Data: 2015-09-18 21:01:40
Temat: Re: Tablica int i usuwanie duplikatów
Od: szemrany <s...@o...off> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Fri, 18 Sep 2015 20:47:42 +0200, bartekltg wrote:
>>> Właśnie nie pamiętam ile to było. Oryginalny pytacz będzie
>>> testował, to pewnie nam powie jakie miał benchmarki :) Ja
>>> strzelam że pomiędzy 500-1000.
>>
>> Pytacz nie będzie chyba aż tak złożonych testów robił. Poza tym pytacz
>> wszystkich opisanych algorytmów nie kuma
>
> To trzeba pytać. Milczy, znaczy rozumie.
> ;-)
>
> Zwłaszcza po tym, jak marudziłeś, że za proste rozwiązania
> dostałeś;-)
Nie proste tylko niepełnosprytne ;-)
A potem się zaczęło ...zbyt sprytnie :-)
Gdy pytałem o algorytmy myślałem o czymś bardziej opartym o matematykę, ale
jak się okazuje akurat ten problem jest mało matematyczny.
>> lub nie może zrobić, bo w Delphi
>> nie ma niektórych potrzebnych językowych patentów, jak np. sety. Tzn. są
>> sety, ale ograniczone do 256 elementów.
>
> Przez set mieliśmy na myśli kontener (u nas trzymający inty) oparty na
> zrównoważonych drzewach binarnych. Nie ma to nic wspolengo "set of"
> z (delphi) pascala. Unordered_set to kontener (zawierający u nas inty)
> który trzyma je w tablicy hashującej.
Tak, tylko, że Delphi miało inne założenia produkcyjne i nie ma milionów
kontenerów jak C++. Muszę część rzeczy wydłubać sam.
> Nie mam pojęćia, jak to się w Pascalu nazywa. (Googlem znalazłem tylko
> jakieś paskudzctwa bawięce się wskaźnikami do obiektów, ze świecą
> szukać informacji, co siedzi pod spodem i jaka jest złożoność operacji)
> Pewnie Tcośtamcośtam. :)
> Skoro jest to język nadal używany, na pewno gdzieś jest.
Nie chcę używać dziesiątek obcych bibliotek, bo to co teraz robię pakuję do
swojego frejmworka do użycia także w przyszłości, więc nie chcę mieć zbyt
wielu ogonów.
>> Zrobiłem na razie klasyczny algorytm z dwoma pętlami i porównaniem (z tym,
>> że zrobiłem dwie różne wersje) oraz teraz konwertuje algorytm, który podał
>> AK napisany w C. Na razie utknąłem na składni niektórych poleceń, czekam w
>> innym wątku aż AK mi odpowie.
>> Jeszcze zrobię werję z Hash Table, która jest zaimplementowana w Delphiowym
>> TDictionary (hash jest oparty o algorytm Jenkinsa).
>> I to chyba wszystko.
>
> Bez sensu. Tablicę hashującą robisz na tablicy.
> TDictionary to odpowiednik std::map, obiekt bardzo podobny do zbioru.
> Mając TDictionary nie musisz nic na nim budować, korzystasz z niego
> bezpośrednio, trzymając informację, int->ilosć wystyępień.
> Szczegoły już padły.
Jak już pisałem wcześniej piszę generyczny moduł, który operuje na
tablicach TArray<T> i potrafi z nich:
- usuwać dowolne elementy
- usuwać duplikaty
- porównywać dwie tablice
- itd.
Stąd potrzebuję algorytmów niskopoziomowych, które sobie w tymże module
zaimplementuję. Jeśli okaże się, że użycie TDictionary da jakiś zysk na
dużych tablicach względem algorytmu naiwnego z pętlami to tej wersji też
będę używał.
Na razie węszę i w wolnych chwilach dopisuję kolejne kawałki kodu.
--
howgh
szemrany
"Trzeba z żywymi naprzód iść, po życie sięgać nowe,
a nie w uwiędłych laurów liść z uporem stroić głowę"
Następne wpisy z tego wątku
- 18.09.15 21:36 bartekltg
- 18.09.15 22:50 szemrany
- 19.09.15 03:08 bartekltg
- 19.09.15 11:34 szemrany
- 19.09.15 13:35 M.M.
- 19.09.15 13:57 M.M.
- 19.09.15 14:43 szemrany
- 19.09.15 14:50 M.M.
- 19.09.15 15:08 szemrany
- 19.09.15 15:23 M.M.
- 19.09.15 15:44 szemrany
- 19.09.15 18:10 bartekltg
- 19.09.15 18:13 bartekltg
- 19.09.15 18:20 bartekltg
- 19.09.15 18:58 M.M.
Najnowsze wątki z tej grupy
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)