Matrisler üzerinde Matris Toplama ve Matris-Vektör Çarpımı işlemlerini verimli şekilde gerçekleştirir.
Matris işlemleri, grafik programlama, yapay zeka, fizik simülasyonları ve mühendislik hesaplamalarının temelidir. Sedgewick, iki boyutlu diziler olarak temsil edilen matrislerin bellek düzenine (satır-satır veya sütun-sütun) dikkat edilerek işlenmesini vurgular.
Bu modül, iki matrisin eleman bazlı toplanmasını (Matris Toplamı) ve bir matris ile bir vektörün çarpılmasını (Matris-Vektör Çarpımı) kapsar.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1function addMatrices(matrixA: number[][], matrixB: number[][]): number[][] {2 const rows = matrixA.length, cols = matrixA[0].length;3 if (rows !== matrixB.length || cols !== matrixB[0].length) { throw new Error('Boyut uyuşmazlığı.'); }4 const result: number[][] = Array.from({ length: rows }, () => Array(cols).fill(0));5 for (let i = 0; i < rows; i++) {6 for (let j = 0; j < cols; j++) { result[i][j] = matrixA[i][j] + matrixB[i][j]; }7 }8 return result;9}10function multiplyMatrixVector(matrix: number[][], vector: number[]): number[] {11 const rows = matrix.length, cols = matrix[0].length;12 if (cols !== vector.length) { throw new Error('Boyut uyuşmazlığı.'); }13 const result = Array(rows).fill(0);14 for (let i = 0; i < rows; i++) {15 for (let j = 0; j < cols; j++) { result[i] += matrix[i][j] * vector[j]; }16 }17 return result;18}İşlemi seçin (add veya vector-mult). Matrisleri virgül ve noktalı virgülle ayırın. Örn: add; 1,2;3,4 | 5,6;7,8 veya vector-mult; 1,2;3,4 | 5,6
İşlemi seçin (add veya vector-mult). Matrisleri virgül ve noktalı virgülle ayırın. Örn: add; 1,2;3,4 | 5,6;7,8 veya vector-mult; 1,2;3,4 | 5,6
En İyi Durum: Toplam: O(r*c), Çarpım: O(r*c)
Ortalama Durum: Toplam: O(r*c), Çarpım: O(r*c)
En Kötü Durum: Toplam: O(r*c), Çarpım: O(r*c)
O(r*c) (Toplam sonucu) / O(r) (Çarpım sonucu) - Bu algoritmanın karmaşıklığı belirtilmemiş.
Matrix Operations (Matris İşlemleri) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: