Sabtu, 27 Februari 2010

Array segitiga (tringular Arra)

ARRAY SEGITIGA (TRINGULAR ARRAY)

Ada 2 macam
1. Upper Tringular
Elemen dibawah diagonal utama adalah 0
2. Lower Tringular
Elemen diatas diagonal utama adalah 0

 Suatu array dimana elemen diagonalnya juga nol disebut Strictly (upper/lower) Tringular.
 Pada array Lower Tringular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-I adalah I
N
 Total elemen <> 0 adalah  I = ( N * ( N+1)) /2
K=1
 Untuk N kecil : tidak ada masalah
 Untuk N besar :
1. Elemen yang sama dengan nol tidak usah disimpan dalam memori
2. Pendekatan terhadap masalah ini adalah dengan pelinieran array dan hanya menyimpan array yang tidak nol.

1. Misal
A array segitiga atas berorder N x N
B array bersegitiga bawah dengan order ( N-1) x ( N-1)
A dan B dapat disimpan sebagai array C berorder N x N
C (I,J) = A(I,J) untuk I <= J
C(I+1,J) = B(I,J) untuk I >= J
2. Misal
A array segitiga atas berorder N x N
B array bersegitiga bawah dengan order N x N
A dan B dapat disimpan sebagai array C berorder N x ( N + 1 )
C (I,J+1) = A(I,J) untuk I <= J
C(I,J) = B(I,J) untuk I >= J

3. Misal
A dan B keduanya merupakan array segitiga atas
Maka untuk menyimpannya secara bersama-sama dengan melakukan transpose terhadap salah satu array tersebut.
Array C berorder N x (N+1)
C (I,J+1) = A(I,J) untuk I <= J
C(J,i) = B(I,J) untuk I >= J

SPARSE ARRAY

Suatu type khusus yang lain dari array

Dikatakan Sparse atau jarang karena elemen-elemen yang tidak nolnya relatif lebih sedikit jumlahnya

Setiap elemen bukan nol pada sparse array dua dimensi dapat direpresentasikan dalam format (Row-Subscript, Column-subscript, value).

Triple ini dapat diurut berdasarkan Row-Subscript Major dan Colum-Subscript Minor dan disimpan dalam bentuk vektor.

Penyajian lain dari Sparse Array adalah dengan menggunakan daftar berkait/ Linked List.

1 komentar: