• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Struct vs STL

Object Storage Arubacloud
0 głosów
155 wizyt
pytanie zadane 15 czerwca 2016 w C i C++ przez xsan Początkujący (310 p.)
Witam, przeglądając różne skrypty odnośnie algorytmiki oraz rozwiązywania zadań konkursowych spotkam się z dwoma sposobami implementacji struktur danych. Np graf, w niektórych pracach jest reprezentowany przez własna strukturę, i w innych przez szablony z stl'a(tablica vectorów).

Który z tych sposobów jest lepszy, szybszy i bardziej przejżysty w implementacji?

2 odpowiedzi

0 głosów
odpowiedź 15 czerwca 2016 przez niezalogowany
Nie da się tego stwierdzić bez zagłębienia w poszczególne implementacje i sam problem algorytmiczny.

Ogólnie szablony STL, są dość dobrze zoptymalizowane, ale optymalizacje robione są właśnie dla ogólnego przypadku, więc na pewno nie jest to najlepsze możliwe rozwiązanie.

Samych szablonów warto użyć jedynie przy projektowaniu, wstępnym pisaniu kodu gdzie potrzebujesz jakiego kontenera na szybko i nie obchodzi cię w tym momencie implementacja kontenera, bo np. klient oczekuje na jakieś szybkie demko realizujący jakiś algorytm i nie obchodzi go to na jakiej strukturze go zrealizujesz, tylko czy sam kod działa (to rozwiązanie ma też taką zaletę, że w razie problemów/niedziałającego kodu masz pewność że wina leży po stronie implementacji algorytmu, a nie dodatkowo samodzielnie pisanej struktury).

Później w fazie optymalizacji warto jest zastąpić strukturę dostarczoną przez standard, przez swoją własną zoptymalizowaną do konkretnego przypadku.
0 głosów
odpowiedź 15 czerwca 2016 przez ZakosiliMiNeta Nałogowiec (30,870 p.)
Nie da się w żaden sposób tego stwierdzić patrząc na to z góry ( na STL-a ). Każdą implementacje trzeba rostrzygnąć osobno, co nie zmienia faktu, że ludzie robiący STL-a najprawdę dobrze to zoptymalizowali. Np. Sortowanie w STL działa w czasie n * log(N) i nie ma dużej stałej bo nie spamiętuje dodatkowych rzeczy. Chodź patrząc na Seta lub Mape to również działa bardzo szybko ale żre bardzo dużo pamięci i ma dużą stałą bo spamiętuje dodatkowe rzeczy

Podobne pytania

0 głosów
2 odpowiedzi 358 wizyt
pytanie zadane 15 sierpnia 2017 w Algorytmy przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
0 odpowiedzi 70 wizyt
pytanie zadane 25 kwietnia w Python przez skiczyn Nowicjusz (140 p.)
0 głosów
1 odpowiedź 69 wizyt
pytanie zadane 17 kwietnia w Python przez skiczyn Nowicjusz (140 p.)

92,620 zapytań

141,473 odpowiedzi

319,813 komentarzy

62,003 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...