Jaką strukturę danych zastosować?

0

Witajcie drodzy forumowicze,
Zastanawiam się jaką strukturę danych wybrać. Potrzebuje takiej struktury, do której będę mógł dodać liczbę, a później usunąć tę liczbę podając jej wartość, a nie pozycje na której się znajduje. Czyli usuwanie po wartości. Konieczna jest też możliwość iteracji po tej strukturze.

0

A możę zapytam inaczej. Potrzebuje iterować po kolumnach i wierszach pewnej macierzy (tablicy dwuwymiarowej). W każdej iteracji wybieram kilka kolumn i jeden wiersz, który chce "wyrzucić" i żeby w kolejnej iteracji nie był brany pod uwagę.

Wymyśliłem tak, że do struktury danych wrzucam cały zbiór wierszy i kolumn i odpowiednio z tej struktury wyrzucam wiersze i kolumny i iterując tylko po pozostałych elementach w strukturze. Czy to oby dobry pomysł? Czy istnieje lepszy pomysł, który nie potrzebuje aż tak dużo pamięci? Chciałbym wykonywać takie operacje na tablicach o wymiarach nawet 10000x10000. Proszę o pomoc

0

musisz porobic doswiadczenia ktore rozwiazanie jest najszybsze:
set<int> col,row; // zapisane ktore kolumny,wiersze wyswietlac - trzeba uzupelniac
vector<bool> tab(m*n,true); // vector<bool> jest zoptymalizowany do trzymania booli, takze taka tablica powinna zajmowac ok. 11MB, jednakze bedzie ciut wolniejsza

mozesz sprobowac obliczac ile danych zostalo usunietych i dodatkowo gdy np ilosc tych danych bedzie wieksza niz 20% calej tablicy to przealokowac cala tablice

1 użytkowników online, w tym zalogowanych: 0, gości: 1