-
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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-05-28 Tani darmowy manager plików
- 2025-05-28 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-28 Re: Nowe zalecenie w Mini Netykiecie dotyczące wklejania linków URL
- 2025-05-28 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-28 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-05-28 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-05-28 Citi --> Velo
- 2025-05-28 Warszawa => MLOps Engineer <=
- 2025-05-28 Warszawa => Specjalista rekrutacji IT <=
- 2025-05-28 Szok
- 2025-05-28 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-05-28 Szczecin => Key Account Manager IT <=
- 2025-05-28 Warszawa => NMS System Administrator <=
- 2025-05-28 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-05-28 Uwaga na spadki....