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

Jaki sposób użyć na przechowywanie danych

Object Storage Arubacloud
0 głosów
339 wizyt
pytanie zadane 31 grudnia 2016 w C i C++ przez Nekronomik Użytkownik (600 p.)
Witam, problem leży głownie przy tablicach obiektu. Jak rozpoczynałem naukę to wykorzystywałem tablice statyczne w których przechowywałem dane obiektów. Problem już się pojawił gdy obiekty miały zapamiętywać się nawzajem podczas ataku przez zrobienie porządku w tablicy.
Więc kolejny sposób jaki wykorzystałem to stworzenie tablicy obiektów statycznych i na wskaźnikach np Obiekt *obiekt_w[100], obiekt_s[100]; i problem znikł. Zapisałem wszystkie adresy obiekt_s do *obiekt_w i działałem tylko na adresach, obiekt_w[i]=&obiekt_s[i]; dzięki czemu obiekt znał adres i mógł zapamiętać dużo celów.
Kolejny pomysł to wykorzystanie tablic dynamicznych dla klas, chciałem aby ona zwiększała się lub zmniejszała w zależności ile mam obiektów. Z ciekawości zrobiłem test jak długo trwa stworzenie nowej tablicy dynamicznej o innym rozmiarze i przeniesienie wszystkich obiektów do niej itd. To dla 100 obiektów czas wyniósł 0.1 sek to przy moim odświeżaniu danych obiektów 60Hz klatka wynosiła by 6 sek.
Tak wiec tablice dynamiczne i ciągłe zmienianie ich wielkości odpada(chyba że jest inny spsób), albo z góry ustalę jak we wcześniejszych sposobach jej wielkość. Z zapamiętywaniem celu też jest problem bo przy każdym stworzeniu nowej tablicy dynamicznej skopiowane obiekty maja nowe adresy, wiec obiekt będzie atakował adres którego już nie ma

Nie wiem jak z vectorami, ile czasu im zajmuje np mielenie 100,200 lub więcej obiektów przez siebie 60 razy na sek. Puki co jeszcze nie sprawdzam.

Może ktoś inny zna sposób na przechowywanie obiektów i zarządzanie nimi, puki co sposób drugi bardziej mi odpowiada ale czy tak powinno się to robić ?

1 odpowiedź

0 głosów
odpowiedź 31 grudnia 2016 przez morele123 Gaduła (4,790 p.)
A po co właściwie te obiekty zapamiętujesz? Nie napisałeś nigdzie specyfikacji, co ci jest właściwie potrzebne w twojej strukturze danych. Czy chcesz dodawać kolejne obiekty w jakimś porządku do tej tablicy, czy może to bez znaczenia. Ja na początek to polecam ci zapamiętywać dane w liście.
komentarz 1 stycznia 2017 przez operator Stary wyjadacz (10,920 p.)
Przepraszam ale powodzenia w programowaniu hahahha
komentarz 1 stycznia 2017 przez morele123 Gaduła (4,790 p.)
To co napisałem, to tylko w celach edukacyjnych nigdy nie spotkasz tak zapisanego programu.
komentarz 1 stycznia 2017 przez operator Stary wyjadacz (10,920 p.)
Sooo... Czy ty wiesz co to jest algorytm HeapFastConstruct? Bo chyba nie. Nadal mam z ciebie beke ziom :D Wszystkie bazy danych nawet na tym forum z tego korzystają hahahaha
komentarz 1 stycznia 2017 przez morele123 Gaduła (4,790 p.)
Ale wciąż mówisz o tworzeniu drzewa, a nie o odbudowie drzewa po usunięciu elementu. Po za tym ten algorytm wcale nie stworzy ci drzewa o czasie logarytmicznym.
komentarz 1 stycznia 2017 przez morele123 Gaduła (4,790 p.)
Może napisze od razu post w którym przytoczę o co chodzi, bo dużo postów zostało tu napisanych bez konkretów żadnych.

A, więc ja:

Twierdzę, że na liście usuwanie elementu zajmuje O(1) i nie da się utworzyć struktury danych w czasie mniejszym niż O(n).

Mądrala i operator:

Twierdzą, że drzewo można stworzyć w czasie logarytmicznym oraz usuwanie elementu jest szybsze niż O(1).

Co na to wszystko wikipedia:

Lista: Operacja usuwania: O(1)

Drzewo: Operacja usuwania O(logn)

Podobne pytania

0 głosów
0 odpowiedzi 107 wizyt
pytanie zadane 26 listopada 2016 w HTML i CSS przez yossarian22 Początkujący (340 p.)
0 głosów
1 odpowiedź 244 wizyt
0 głosów
2 odpowiedzi 1,199 wizyt
pytanie zadane 18 grudnia 2019 w C i C++ przez tymek112 Obywatel (1,530 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 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!

...