Zapis macierzy - do tablicy jedno- czy dwuwymiarowej?

Zapis macierzy - do tablicy jedno- czy dwuwymiarowej?
DH
  • Rejestracja:prawie 15 lat
  • Ostatnio:ponad 10 lat
0

Witam,
mam pytanie dotyczące deklarowania tablicy na macierz. Czy zapis macierzy w postaci tablicy jednowymiarowej zamiast dwuwymiarowej ma wpływ na szybkość wykonywanych operacji? Jeśli tak - dlaczego :)

Przykład

Kopiuj
my_type **M1;
M1 = new my_type*[size];
        for (int i=0; i<size; i++)
        {
            M1[i]=new my_type[size];
        }
my_type *M2;
M2=new my_type*[size*size]; 
edytowany 1x, ostatnio: d_hrabia
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Trochę ma ze względu na cache. Zauważ że w przypadku 1 tworzysz tak na prawdę n osobnych tablic które mogą być rozrzucone w pamięci. W przypadku 2 masz wszystko w jednym miejscu więc jest większa szansa że uda się wykorzystać cache procesora w trakcie przetwarzania danych z tej tablicy.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.